move ov to stack variable
This commit is contained in:
parent
d6a0d9ba96
commit
52fd5979c0
3 changed files with 14 additions and 7 deletions
|
@ -451,3 +451,8 @@
|
||||||
1400815975,11316714.26,2165050.14,55188.21
|
1400815975,11316714.26,2165050.14,55188.21
|
||||||
1400815990,10826986.93,1780938.43,55188.21
|
1400815990,10826986.93,1780938.43,55188.21
|
||||||
1400816005,10584527.76,1707721.44,55924.05
|
1400816005,10584527.76,1707721.44,55924.05
|
||||||
|
1400816427,9376611.56,2006568.41,53092.46
|
||||||
|
1400816438,9096902.53,2108994.21,59074.70
|
||||||
|
1400816448,9260790.48,2131479.91,55188.21
|
||||||
|
1400816458,9303957.38,2110797.39,55924.05
|
||||||
|
1400816525,9330370.85,1985782.06,59074.70
|
||||||
|
|
Can't render this file because it has a wrong number of fields in line 447.
|
15
src/node.c
15
src/node.c
|
@ -260,11 +260,14 @@ node * r3_tree_matchl(const node * n, char * path, int path_len, match_entry * e
|
||||||
edge *e;
|
edge *e;
|
||||||
int rc;
|
int rc;
|
||||||
int i;
|
int i;
|
||||||
|
int ov_cnt;
|
||||||
|
|
||||||
// if the pcre_pattern is found, and the pointer is not NULL, then it's
|
// if the pcre_pattern is found, and the pointer is not NULL, then it's
|
||||||
// pcre pattern node, we use pcre_exec to match the nodes
|
// pcre pattern node, we use pcre_exec to match the nodes
|
||||||
if (n->pcre_pattern) {
|
if (n->pcre_pattern) {
|
||||||
info("pcre matching %s on %s\n", n->combined_pattern, path);
|
info("pcre matching %s on %s\n", n->combined_pattern, path);
|
||||||
|
ov_cnt = (1 + n->edge_len) * 3;
|
||||||
|
int ov[ ov_cnt ];
|
||||||
|
|
||||||
rc = pcre_exec(
|
rc = pcre_exec(
|
||||||
n->pcre_pattern, /* the compiled pattern */
|
n->pcre_pattern, /* the compiled pattern */
|
||||||
|
@ -273,8 +276,8 @@ node * r3_tree_matchl(const node * n, char * path, int path_len, match_entry * e
|
||||||
path_len, /* the length of the subject */
|
path_len, /* the length of the subject */
|
||||||
0, /* start at offset 0 in the subject */
|
0, /* start at offset 0 in the subject */
|
||||||
0, /* default options */
|
0, /* default options */
|
||||||
n->ov, /* output vector for substring information */
|
ov, /* output vector for substring information */
|
||||||
n->ov_cnt); /* number of elements in the output vector */
|
ov_cnt); /* number of elements in the output vector */
|
||||||
|
|
||||||
// info("rc: %d\n", rc );
|
// info("rc: %d\n", rc );
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
|
@ -293,12 +296,12 @@ node * r3_tree_matchl(const node * n, char * path, int path_len, match_entry * e
|
||||||
|
|
||||||
for (i = 1; i < rc; i++)
|
for (i = 1; i < rc; i++)
|
||||||
{
|
{
|
||||||
char *substring_start = path + n->ov[2*i];
|
char *substring_start = path + ov[2*i];
|
||||||
int substring_length = n->ov[2*i+1] - n->ov[2*i];
|
int substring_length = ov[2*i+1] - ov[2*i];
|
||||||
// info("%2d: %.*s\n", i, substring_length, substring_start);
|
// info("%2d: %.*s\n", i, substring_length, substring_start);
|
||||||
|
|
||||||
if ( substring_length > 0) {
|
if ( substring_length > 0) {
|
||||||
int restlen = path_len - n->ov[1]; // fully match to the end
|
int restlen = path_len - ov[1]; // fully match to the end
|
||||||
// info("matched item => restlen:%d edges:%d i:%d\n", restlen, n->edge_len, i);
|
// info("matched item => restlen:%d edges:%d i:%d\n", restlen, n->edge_len, i);
|
||||||
|
|
||||||
e = n->edges[i - 1];
|
e = n->edges[i - 1];
|
||||||
|
@ -311,7 +314,7 @@ node * r3_tree_matchl(const node * n, char * path, int path_len, match_entry * e
|
||||||
return e->child && e->child->endpoint > 0 ? e->child : NULL;
|
return e->child && e->child->endpoint > 0 ? e->child : NULL;
|
||||||
}
|
}
|
||||||
// get the length of orginal string: $0
|
// get the length of orginal string: $0
|
||||||
return r3_tree_matchl( e->child, path + (n->ov[1] - n->ov[0]), restlen, entry);
|
return r3_tree_matchl( e->child, path + (ov[1] - ov[0]), restlen, entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// does not match
|
// does not match
|
||||||
|
|
|
@ -14,7 +14,6 @@ noinst_HEADERS = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
dist_noinst_DATA = \
|
dist_noinst_DATA = \
|
||||||
bench_str.csv \
|
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
if USE_JEMALLOC
|
if USE_JEMALLOC
|
||||||
|
|
Loading…
Reference in a new issue