c9s
053f9202f6
merge graphviz function prototype into r3.h
2014-06-03 20:47:35 +08:00
c9s
4ac3d74fd3
more graphviz API
2014-06-03 18:41:55 +08:00
c9s
b68e14dd66
r3_tree_render_dot(const node * tree, FILE *fp); support
2014-06-03 18:37:36 +08:00
Pedro
b6bf81e3e9
Replace -1 ret code
2014-06-03 02:09:11 +08:00
c9s
2890ed142e
document return code
2014-06-02 16:24:32 +08:00
c9s
ea7fa973cd
Add SAFE_FREE for char * errstr
2014-06-02 16:12:27 +08:00
c9s
15021b11c9
reset prefix_len = 0
2014-06-02 16:08:46 +08:00
c9s
1f21ea19a8
Add char ** errstr to r3_node_find_common_prefix
2014-06-02 15:52:40 +08:00
c9s
7cc84867ce
let slug_count returns -1 if error occurs
2014-06-02 15:47:02 +08:00
c9s
2774221ab7
return error
2014-06-02 15:12:28 +08:00
c9s
04d8977b21
r3_tree_insert_pathl_ex function
2014-06-02 14:47:46 +08:00
c9s
16d7cc207f
clean up debug code
2014-06-02 14:10:29 +08:00
c9s
9441f974de
test compile fail
2014-06-02 09:48:00 +08:00
c9s
fd1e5f7f50
Add r3_node_find_common_prefix test cases
2014-06-02 09:09:41 +08:00
c9s
9f58a5b651
comment for the function
2014-06-02 08:19:44 +08:00
c9s
f3bf32b922
refactor path insert function
2014-06-02 08:04:57 +08:00
c9s
20c6a84f7c
continue when escape
2014-06-02 07:10:31 +08:00
c9s
b80f90dad9
-D_BSD_SOURCE=1
2014-06-02 07:03:32 +08:00
c9s
7597398c08
include config.h
2014-06-02 06:58:02 +08:00
c9s
b2a9ad47d8
fprintf to print error to stderr
2014-06-02 06:53:31 +08:00
c9s
9271f0bf08
free the variable
2014-06-02 06:50:24 +08:00
c9s
57b4fde126
print errmsg
2014-06-02 06:48:00 +08:00
c9s
17b4201197
more incomplete slug pattern tests
2014-06-02 06:38:50 +08:00
c9s
a6be7f5061
static inline
2014-06-02 06:32:30 +08:00
c9s
0eb9cad11c
r3_path_contains_slug_char function
2014-06-02 06:27:35 +08:00
c9s
493a9d7d8e
Add coverage option to gcc
2014-06-02 06:14:23 +08:00
c9s
7cfdfbb3f5
inline static
2014-06-02 06:01:42 +08:00
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