Commit graph

215 commits

Author SHA1 Message Date
c9s
b394be57cb support simple opcode 2014-05-23 16:18:58 +08:00
c9s
333fabd795 insert path for opcode 2014-05-23 16:18:58 +08:00
c9s
fe70b55253 Add node type for comparison 2014-05-23 16:18:57 +08:00
c9s
403b1d9ba2 Add opcode to edge 2014-05-23 16:18:57 +08:00
c9s
7d16413cb3 more benchmark result 2014-05-23 16:18:57 +08:00
c9s
52fd5979c0 move ov to stack variable 2014-05-23 16:18:57 +08:00
c9s
93f4654c54 pass studied pattern 2014-05-23 16:18:57 +08:00
c9s
ad6b7b236f combined_pattern_len is not used 2014-05-23 16:18:57 +08:00
c9s
3f4fcb8c27 remove duplicate header include 2014-05-23 16:18:56 +08:00
c9s
c1e5ea4393 Add OP_EXPECT_NODASH opcode 2014-05-23 16:18:56 +08:00
c9s
4d93d217a4 test r3_pattern_to_opcode 2014-05-23 16:18:56 +08:00
c9s
a41c9187ac Add some basic opcode 2014-05-23 16:18:56 +08:00
c9s
59e6997959 there is already a pointer guard in zmalloc 2014-05-23 16:18:56 +08:00
c9s
c841de166c free old pattern 2014-05-23 16:18:56 +08:00
ChangZhuo Chen (陳昌倬)
fb88655df0 Remove CMake related files 2014-05-22 22:53:49 +08:00
c9s
62bb4e5460 remove unnecessary pointer check 2014-05-22 22:26:46 +08:00
c9s
fe5c2381b5 remove point checking in str_array_free 2014-05-22 22:23:47 +08:00
c9s
9d26a53a08 update Makefile.am 2014-05-22 11:42:19 +08:00
c9s
c503a6d5d3 use jemalloc only in jemalloc major version > 2 2014-05-22 11:41:51 +08:00
c9s
1fdfaef16e what if we always use -ljemalloc 2014-05-22 11:34:37 +08:00
c9s
a8cec68f72 use -std=c99 2014-05-22 11:09:44 +08:00
c9s
e48538c526 check USE_JEMALLOC flag in Makefile.am 2014-05-22 11:09:43 +08:00
c9s
e8653eeb28 include jemalloc.h 2014-05-22 11:06:34 +08:00
c9s
eaa11d5380 found flag for slug char 2014-05-22 11:06:34 +08:00
c9s
33eea25926 check length 2014-05-21 20:30:35 +08:00
c9s
b83946e487 check macro PCRE_STUDY_JIT_COMPILE to compile pcre with JIT 2014-05-21 18:28:21 +08:00
c9s
946bac8f3c seems like pcre_free_study is not defined on older ubuntu 2014-05-21 18:26:08 +08:00
c9s
82ea09e146 when we free it, we know it's not NULL 2014-05-21 18:22:11 +08:00
c9s
834d87173a Fix variable name 2014-05-21 18:21:15 +08:00
c9s
175b594234 Fix 2014-05-21 18:20:48 +08:00
c9s
238aee085f use pcre's own functions to free pcre related structures 2014-05-21 18:17:51 +08:00
c9s
6762025fe6 free edge struct 2014-05-21 18:17:51 +08:00
c9s
7d288404c7 libpcre does not use zmalloc 2014-05-21 18:17:51 +08:00
Omer Katz
7303bc8f00 More guarding against freeing NULL pointers. 2014-05-21 12:50:56 +03:00
Omer Katz
61b3b24e2e Guarding against freeing NULL pointers. 2014-05-21 12:46:56 +03:00
Omer Katz
3ea9354e0b Implemented zstrndup. 2014-05-21 11:39:49 +03:00
Omer Katz
e34759c1aa Using zstrndup instead of strndup) 2014-05-21 11:18:12 +03:00
Omer Katz
18a92867fc Removed wrong call to zfree that caused a segfault. 2014-05-21 11:14:12 +03:00
Omer Katz
0e627e33d5 Fixed all warnings from tests. 2014-05-21 10:50:37 +03:00
c9s
de5a308002 fix header includes 2014-05-21 14:59:07 +08:00
c9s
b1939e287d Merge branch 'topic/zmalloc' of https://github.com/thedrow/r3 into thedrow-topic/zmalloc 2014-05-21 14:51:25 +08:00
c9s
5a84e9aeb2 update pcre match error message 2014-05-21 14:27:04 +08:00
Omer Katz
9c191682da Added zmalloc from redis in order to allow different allocators. 2014-05-20 20:50:15 +03:00
c9s
0064eb27a1 const to node * n 2014-05-21 01:22:49 +08:00
c9s
0d2ae75bc2 prefetch firstbyte 2014-05-21 01:20:18 +08:00
c9s
e9797295b5 Fix endpoint when branching edges 2014-05-21 01:15:54 +08:00
c9s
5bd1757e5f function name fix 2014-05-21 00:47:09 +08:00
c9s
cae305b92d when child is not endpoint, return NULL 2014-05-21 00:37:27 +08:00
c9s
90890b09e5 put r3_define.h back XD becase we depends on bool 2014-05-21 00:33:19 +08:00
c9s
92e2ddf066 remove r3_define.h 2014-05-20 23:54:57 +08:00
c9s
7ba0efc60c use doublecirlce for endpoint nodes 2014-05-20 23:48:35 +08:00
c9s
5183e9a052 merge r3_define.h into r3.h 2014-05-20 23:33:51 +08:00
c9s
750a9beaa4 _r3_tree_insert_pathl to r3_tree_insert_pathl_ 2014-05-20 23:30:36 +08:00
c9s
02b4008a69 str_split is unused 2014-05-20 23:29:17 +08:00
c9s
85001c6327 Rename compile_slug to slug_compile 2014-05-20 23:25:55 +08:00
c9s
99819c4bbb move strndiff and strdiff to node.c and make it private 2014-05-20 23:25:12 +08:00
c9s
26c7e8896e Rename count_slug to slug_count 2014-05-20 23:21:15 +08:00
c9s
9499432084 remove debug print 2014-05-20 21:41:24 +08:00
c9s
898ea300a9 Fix placeholder finder 2014-05-20 21:38:37 +08:00
c9s
a086f9f6e8 Fix memory allocation 2014-05-20 16:16:36 +08:00
c9s
e2bf5d5177 Allocation fixes 2014-05-20 15:49:31 +08:00
c9s
188bb991b9 -ggdb when debug mode is enable (--enable-debug) 2014-05-20 15:34:41 +08:00
c9s
5331d375ac Fix gnu c compiler error when the variable is the same 2014-05-20 15:32:22 +08:00
c9s
fd4e89c2f4 check NULL pointer 2014-05-20 15:14:12 +08:00
c9s
9d19d233c6 comment regexp symbol 2014-05-20 15:06:52 +08:00
c9s
41dc7373f3 comment jemalloc include lines 2014-05-20 01:28:51 +08:00
c9s
678d096d07 Merge branch 'feature/export' of https://github.com/czchen/r3 into czchen-feature/export
Conflicts:
	src/Makefile.am
2014-05-20 01:26:40 +08:00
ChangZhuo Chen (陳昌倬)
7bf513d5cd Update export symbols regex to ^r3_|^match_ 2014-05-19 22:32:39 +08:00
c9s
1ec3943591 we don't use list.c for now, so just skip it 2014-05-19 22:00:58 +08:00
ChangZhuo Chen (陳昌倬)
bad5cc8966 Export symbols only when it matches regex '^r3_' 2014-05-19 21:43:42 +08:00
c9s
c91c8f8f99 delte Makefile.in 2014-05-19 20:04:34 +08:00
c9s
2278a0f045 -fprofile-arcs -ftest-coverage for debug mode 2014-05-19 11:38:25 +08:00
c9s
8ba1230610 Add endpoint check 2014-05-19 10:49:47 +08:00
c9s
401443f7ac Add r3_ prefix to route struct related functions 2014-05-19 10:39:03 +08:00
c9s
2ac6f87422 Fix r3_tree_match_route 2014-05-19 10:34:48 +08:00
c9s
2084675423 r3_tree_insert_path API changes 2014-05-19 10:12:41 +08:00
c9s
bada37fd75 Fix warning 2014-05-18 20:16:53 +08:00
c9s
baf23fafb0 fix pattern matching for /user/{id}-{user} 2014-05-18 20:09:42 +08:00
c9s
f039cc3c8f Fix child insertion 2014-05-18 20:09:42 +08:00
c9s
7d6113d17d truncate edge pattern in r3_edge_branch 2014-05-18 20:09:42 +08:00
c9s
4565346298 Fix tests for #10 2014-05-18 15:06:20 +08:00
c9s
d4c2c6b47e Add failing test to issue #10 2014-05-18 15:00:11 +08:00
c9s
cda897a9a7 fix slug compilation 2014-05-18 14:30:00 +08:00
c9s
baf2368726 comments 2014-05-18 13:38:30 +08:00
c9s
cde6e5de31 Fix tests 2014-05-18 13:15:53 +08:00
c9s
60991c3d73 condition_* => route_* 2014-05-18 13:06:36 +08:00
c9s
1632f9807e r3_node_match_condition 2014-05-18 12:56:53 +08:00
c9s
641d1e53d8 fix condition match for request method 2014-05-18 12:49:58 +08:00
c9s
518fad82f2 copy data to condition endpoints 2014-05-18 12:40:06 +08:00
c9s
e6c7d3e45e Add r3_tree_match_with_entry function to match with match_entry 2014-05-18 12:32:20 +08:00
c9s
58cd893dea insert conditions at endpoints 2014-05-18 12:28:12 +08:00
c9s
e0eca85cbc remove route_split_pattern function 2014-05-18 12:24:07 +08:00
c9s
7687dd3aef clear edge->route when create 2014-05-18 12:00:03 +08:00
c9s
a4481a8ecb Add route_cmp function to compare route 2014-05-18 11:59:30 +08:00
c9s
4efd1b9702 r3_tree_insert_pathn to r3_tree_insert_pathl 2014-05-18 11:13:44 +08:00
c9s
08a059465e Append one more argument to r3_tree_insert_pathn 2014-05-18 11:13:02 +08:00
c9s
64acfd8cd6 Rename route_ptr => route 2014-05-18 11:06:24 +08:00
c9s
5ca345d570 Rename route_info to route 2014-05-18 11:05:01 +08:00
c9s
eb3ef7df0f rename request_methods to request_method 2014-05-18 11:04:13 +08:00
c9s
b25a68eaac Add --enable-debug option + *i is unused. 2014-05-18 11:03:15 +08:00