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