Björn Svensson
c105117b40
Use PCRE2 instead of PCRE ( #153 )
...
PCRE is now at end of life and is no longer actively maintained.
Lift the dependency to the next major version, i.e. PCRE2.
Implementation notes:
- Removed the pcre study option since:
"The new API ... was simplified by abolishing the separate "study" optimizing
function; in PCRE2, patterns are automatically optimized where possible."
- If asprintf() fails the content of the 'strp' variable is undefined.
Lets check the return value and return NULL upon error.
- Pattern and subject can straightforwardly be cast to PCRE2_SPTR since we
only work with 8-bit code units.
2023-10-23 12:38:24 +02:00
Björn Svensson
9168f7e4d4
Support C23 projects
...
Don't define true/false/bool when r3 is used by C23 projects
since C23 already has a bool type and predefined constants.
2023-10-23 10:45:18 +02:00
Björn Svensson
5114d894e5
Remove fixed alignment
2021-10-18 11:36:54 +02:00
Yo-An Lin
b13dc8aa6e
Merge pull request #131 from iresty/feature-ipv6
...
feature: supported to use ipv6 address match route.
2021-10-14 10:31:23 +08:00
Björn Svensson
4babe735e8
Remove cyclic dependency between str_array.h and r3.h
...
This also makes sure we dont get warnings regarding bool
redefinitions when building with clang.
2021-10-13 08:46:47 +02:00
Yuansheng
79fd587615
feature: supported to match ipv6 address.
2019-08-01 21:38:14 -04:00
Yo-An Lin
577cfa0ccb
Merge pull request #130 from iresty/typo
...
change: typo.
2019-07-21 19:30:50 +08:00
Yuansheng
f8a3741211
change: typo.
2019-07-21 09:14:37 +08:00
Yuansheng
db91289ab6
change: rename OP_EXPECT_NOLINEBREAKS
to OP_GREEDY_ANY
.
2019-07-20 10:52:56 -04:00
Yuansheng
d516237aab
optimize: optimized pattern .*
, which can be used prefix matching.
2019-07-20 10:52:56 -04:00
Yuansheng
43666a1183
feature: supported to match http scheme.
2019-06-26 23:06:32 +08:00
Yuansheng
848b8efdca
feature: supported to match remote ip address.
2019-06-19 23:36:37 -04:00
karantin2020
75438ef3d3
Changed r3 memory model, made few optimizing
2016-03-22 07:23:37 +05:00
karantin2020
400768394d
Added slug parser and repaired few memory leaks
2016-03-08 11:19:54 +05:00
c9s
c3ef959539
Add route namespace
...
Summary:
type route now becomes R3Route
Related issue #63
2015-11-18 14:16:26 +08:00
c9s
49ffb454f7
Add namespace for node/edge structs
...
node => R3Node
edge => R3Edge
Related issue #63
2015-11-18 12:53:46 +08:00
c9s
1f1ab15cdd
Fix for stdbool type
2015-11-17 21:40:21 +08:00
c9s
c128cdef13
Provide better feature checking for stdbool
2015-11-17 21:31:33 +08:00
c9s
973a2cb85c
Move private functions to private header files
2015-11-17 21:17:35 +08:00
c9s
dbc18a86c4
__attribute__
2015-11-17 18:32:51 +08:00
c9s
af8acd0286
use __attribute aligned to align struct
2015-11-17 18:32:51 +08:00
c9s
84a7d83812
Add padding to node struct
2015-11-17 18:32:51 +08:00
c9s
b52af2acbd
Add padding to edge structure
2015-11-17 18:32:51 +08:00
c9s
150f7953a2
Remove unneccessary comments from struct
2015-11-17 18:32:50 +08:00
c9s
d4850d3564
Make edges as an array
...
Fixes : #89
2015-11-17 18:32:50 +08:00
c9s
34269aa045
Change compare_type from char to int
2015-11-10 19:36:01 +08:00
c9s
659dc19b1b
Replace short integer with int to fit into cacheline (assume 64byte)
2015-11-10 19:29:18 +08:00
c9s
5d35d34ab3
Put pcre_extra back
2015-11-10 19:21:53 +08:00
c9s
5002272a33
Move pointer fields to top of the structure
2015-11-10 18:43:25 +08:00
Ricky Su
d5296df683
add extern c in c++
2015-08-27 13:58:36 +08:00
c9s
72f10015d5
Fix copyright email
2014-06-27 13:24:40 +08:00
c9s
2c5f135600
macro rename
2014-06-10 20:18:59 +08:00
c9s
7f8684d808
put compare_type to the second place
2014-06-10 20:18:18 +08:00
c9s
b7a20774f2
struct field bit
2014-06-10 20:16:33 +08:00
c9s
5137d4d8e4
simplify functions to macro
2014-06-04 23:13:08 +08:00
c9s
4d68ae6841
remove const from errstr
2014-06-04 13:45:28 +08:00
c9s
b2946352f1
Add r3_tree_insert_routel_ex for error message
2014-06-03 23:50:02 +08:00
c9s
a3c527e1b2
Add const fix
2014-06-03 23:42:40 +08:00
c9s
c7220c5616
combine match_entry functions into r3.h
2014-06-03 22:07:46 +08:00
c9s
f95cce7407
fix header file include
2014-06-03 21:47:52 +08:00
c9s
053f9202f6
merge graphviz function prototype into r3.h
2014-06-03 20:47:35 +08:00
c9s
d8945980a7
tighter structure
2014-06-02 20:51:35 +08:00
Cindy Wang
7cae9bf71a
Update r3.h
...
fix comment.. :p
2014-06-02 16:34:02 +08:00
c9s
1f21ea19a8
Add char ** errstr to r3_node_find_common_prefix
2014-06-02 15:52:40 +08:00
c9s
04d8977b21
r3_tree_insert_pathl_ex function
2014-06-02 14:47:46 +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
f3bf32b922
refactor path insert function
2014-06-02 08:04:57 +08:00
c9s
57b4fde126
print errmsg
2014-06-02 06:48:00 +08:00
c9s
6dfd37d43d
move slug related functions to slug.c and slug.h
2014-06-02 04:52:41 +08:00