Commit graph

293 commits

Author SHA1 Message Date
c9s fe57cbf54d check pointer 2014-06-01 01:38:22 +08:00
c9s 4bb3ba9d04 assert(entry); 2014-06-01 01:26:59 +08:00
c9s 4f93a530e1 assert free 2014-06-01 01:26:36 +08:00
c9s 188a687150 check the pointer returns from zmalloc 2014-06-01 01:25:34 +08:00
c9s a19d2377cc check the pointer returns from zmalloc 2014-06-01 01:24:57 +08:00
c9s 7d9b6c8889 check match_entry->vars 2014-06-01 01:20:28 +08:00
c9s b61d5a78ae fix match_route 2014-06-01 01:16:53 +08:00
c9s 9433e2192a route api improvement 2014-05-31 19:56:46 +08:00
c9s c58d48f962 Fix include 2014-05-28 21:56:22 +08:00
c9s d400789d96 more const pointers 2014-05-28 21:09:37 +08:00
c9s 072c72621c separate header files 2014-05-28 21:08:06 +08:00
c9s 9cb2f80e1f more const pointers 2014-05-28 21:03:59 +08:00
c9s a2bec00a9e match_entry.c 2014-05-28 21:02:57 +08:00
c9s f5996731ca Add const for pointers 2014-05-28 21:00:02 +08:00
c9s cd16d67663 fix zcalloc bug 2014-05-27 14:18:45 +08:00
c9s cf734a480c edge branch with routes and other resets 2014-05-27 14:16:42 +08:00
c9s 60821aac0c const pointer 2014-05-27 12:35:17 +08:00
c9s f596c7392d Add const 2014-05-27 12:34:28 +08:00
c9s 6cc57d545f const char * 2014-05-27 01:08:31 +08:00
c9s 9f8176447b const char * 2014-05-27 01:08:01 +08:00
c9s 54397987bd Add const 2014-05-27 01:07:33 +08:00
c9s 7aaed3e5d7 merge str_array.h 2014-05-26 21:39:36 +08:00
c9s ef9962c958 struct field data type improvement for memory usage. 2014-05-24 18:45:43 +08:00
c9s c1cd7444cb Add struct fields optimization 2014-05-24 17:13:55 +08:00
c9s 591b6cd4c1 when matching pcre do not switch check rc 2014-05-23 23:00:49 +08:00
c9s 628f09a8f4 Add OP_EXPECT_MORE_ALPHA opcode 2014-05-23 22:58:20 +08:00
c9s 9a1f7cfced update benchmark records 2014-05-23 17:36:47 +08:00
c9s d02e16a65c improve stack allocation 2014-05-23 16:18:58 +08:00
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
c9s 9639174f73 Merge branch 'master' into feature/route-info
Conflicts:
	include/r3.h
	tests/bench_str.csv
2014-05-18 10:36:14 +08:00
c9s 2e7a3c2736 workable --enable-graphviz 2014-05-18 10:13:51 +08:00
c9s 6c651cb1ef Add lib_LIBRARIES option to Makefile.am 2014-05-18 09:32:14 +08:00
c9s b56a52e1d8 Add --enable-graphviz option for graphviz:
Graphviz API is changed in 2014* version.
And the version on ubuntu 13.10  is 2013*
Which causes build fail.
2014-05-18 09:29:31 +08:00
c9s 607f209425 required dot version 2014-05-18 09:16:47 +08:00
c9s 02197595c9 Rename dl => offset for readiblity 2014-05-18 09:05:55 +08:00
c9s c1d90dd138 performance improvement on plain string edge matching 2014-05-18 08:29:26 +08:00
c9s b7d20ecc24 Add gvc_render and gvc_render tests 2014-05-18 08:15:32 +08:00
c9s b7c4829c2b Fix node pattern re-assignment 2014-05-18 08:15:32 +08:00
c9s 06c3b95e6c Update Makefile.in 2014-05-18 08:15:32 +08:00
c9s 52aa221710 Add gvc.c 2014-05-18 08:15:32 +08:00
c9s 9bab1bd076 match_entry_createl 2014-05-17 23:54:18 +08:00
c9s 639dd1e0e6 intiialize route_info struct 2014-05-17 19:25:25 +08:00
c9s d4ece86b36 check in Makefile.in 2014-05-17 16:02:15 +08:00
c9s 65d295b880 partially 2014-05-17 15:20:59 +08:00
c9s ea057921c2 no strndup when truncating pattern 2014-05-17 15:20:28 +08:00
Pedro 4910382090 Update node.c
Fix
2014-05-17 15:16:52 +08:00
Pedro 6c0b3c3e90 Merge pull request #6 from CindyLinz/master
my_strdup / my_strndup  malloc smaller
2014-05-17 15:06:44 +08:00
Cindy Wang (CindyLinz) 1c9a42dd82 my_strdup / my_strndup malloc smaller 2014-05-17 13:01:33 +08:00
c9s 256cb8435a dump pattern if pcre compilation failed. 2014-05-17 08:11:22 +08:00
c9s d30e58176c Adding AC_PROG_CC_STDC to configure.ac to support c99 2014-05-17 07:58:28 +08:00
c9s 0c6afd03b7 use HAVE_STR*DUP config to check function definitions 2014-05-17 07:26:47 +08:00