c9s
f9b7dd8522
fix prototype
2014-06-02 05:56:46 +08:00
c9s
00c364dacb
const
2014-06-02 05:55:45 +08:00
c9s
c801164c88
contains_slug_char declare
2014-06-02 05:53:39 +08:00
c9s
fcc00deadb
Merge branch 'slugfix' of github.com:c9s/r3 into slugfix
2014-06-02 05:50:49 +08:00
c9s
20e3f1a3ba
asprintf returns memory pointer which is from malloc() not zmalloc()
2014-06-02 05:48:27 +08:00
c9s
8775c3ff85
wtf
2014-06-02 05:31:47 +08:00
c9s
359d9df369
improve r3_slug_parse function
2014-06-02 05:02:37 +08:00
c9s
6dfd37d43d
move slug related functions to slug.c and slug.h
2014-06-02 04:52:41 +08:00
c9s
2a75861741
Fix gvc graph
2014-06-02 01:35:58 +08:00
c9s
24b84d068d
Merge branch 'master' into slugfix
...
Conflicts:
tests/check_slug.c
2014-06-02 01:23:10 +08:00
c9s
0636c9dad3
fix slug compile pattern
2014-06-02 01:21:02 +08:00
c9s
39fc24e3fa
fix pattern compiler
2014-06-02 01:05:57 +08:00
c9s
c52639c431
slug parser
2014-06-02 01:01:29 +08:00
c9s
e1e5c3a4ae
test incomplete slug
2014-06-02 00:27:30 +08:00
c9s
258128f30d
slug_count return errstr
2014-06-02 00:22:12 +08:00
c9s
da2f2311c9
CHECK_PTR macro to check pointer
2014-06-01 21:58:29 +08:00
c9s
70693ea1f2
errstr parameter in slug
2014-06-01 20:51:47 +08:00
c9s
76182660f9
remove trailing newline
2014-06-01 20:15:25 +08:00
c9s
7d6209d99c
build with 3rdparty objects
...
use -static linking when linking libr3
AM_CFLAGS and AM_LDFLAGS are Makefile.am scope options
disable valgrind tracing check-tree
Makefile.am fix
Add json support
remove useless c files
2014-06-01 19:43:45 +08:00
c9s
b139d8d3f2
add const to node
2014-06-01 14:54:16 +08:00
c9s
7d69e79535
gvc fix
2014-06-01 14:53:12 +08:00
c9s
6e6de35fd0
fix tests for graphviz
2014-06-01 14:41:45 +08:00
c9s
adde7bc361
remove unused variables
2014-06-01 14:35:29 +08:00
c9s
8ee11aaa6f
reduce variables and add const char* to insert_pathl.
2014-06-01 14:33:56 +08:00
c9s
998560634e
remove unused variable and add const
2014-06-01 02:58:03 +08:00
c9s
40fa19002a
Add const for slug_compile
2014-06-01 02:56:29 +08:00
c9s
bc27293f36
more const
2014-06-01 02:54:48 +08:00
c9s
8f8dbd520b
remove const from match_entry pointer
2014-06-01 02:39:39 +08:00
c9s
1a4eb14a05
error code support
...
- return error code if compilation error occurs
- use asprintf to sprint errstr
2014-06-01 02:03:44 +08:00
c9s
642fdfca88
include assert
2014-06-01 01:40:28 +08:00
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