Move variable positions

This commit is contained in:
c9s 2015-11-10 20:42:41 +08:00
parent 7e545159a0
commit 3041469007

View file

@ -315,7 +315,7 @@ node * r3_tree_matchl(const node * n, const char * path, int path_len, match_ent
break; break;
} }
// check match // check match
if ( (pp - path) > 0) { if ((pp - path) > 0) {
if (entry) { if (entry) {
str_array_append(entry->vars , zstrndup(path, pp - path)); str_array_append(entry->vars , zstrndup(path, pp - path));
} }
@ -420,7 +420,7 @@ node * r3_tree_matchl(const node * n, const char * path, int path_len, match_ent
return NULL; return NULL;
} }
if ( (e = r3_node_find_edge_str(n, path, path_len)) != NULL ) { if ((e = r3_node_find_edge_str(n, path, path_len)) != NULL) {
restlen = path_len - e->pattern_len; restlen = path_len - e->pattern_len;
if (restlen == 0) { if (restlen == 0) {
return e->child && e->child->endpoint > 0 ? e->child : NULL; return e->child && e->child->endpoint > 0 ? e->child : NULL;
@ -447,12 +447,13 @@ route * r3_tree_match_route(const node *tree, match_entry * entry) {
} }
inline edge * r3_node_find_edge_str(const node * n, const char * str, int str_len) { inline edge * r3_node_find_edge_str(const node * n, const char * str, int str_len) {
char firstbyte = *str; edge * e;
unsigned int i; unsigned int i;
char firstbyte = *str;
for (i = n->edge_len; i--; ) { for (i = n->edge_len; i--; ) {
edge *e = &n->edges[i]; e = &n->edges[i];
if (firstbyte == e->pattern[0]) { if (firstbyte == e->pattern[0]) {
if (strncmp(e->pattern, str, e->pattern_len) == 0 ) { if (strncmp(e->pattern, str, e->pattern_len) == 0) {
return &n->edges[i]; return &n->edges[i];
} }
return NULL; return NULL;