Add const fix
This commit is contained in:
parent
2ff85c876d
commit
a3c527e1b2
4 changed files with 15 additions and 11 deletions
|
@ -122,7 +122,7 @@ edge * r3_node_find_edge(const node * n, const char * pat, int pat_len);
|
||||||
void r3_node_append_edge(node *n, edge *child);
|
void r3_node_append_edge(node *n, edge *child);
|
||||||
|
|
||||||
|
|
||||||
edge * r3_node_find_common_prefix(node *n, const char *path, int path_len, int *prefix_len, char **errstr);
|
edge * r3_node_find_common_prefix(node *n, const char *path, int path_len, int *prefix_len, const char **errstr);
|
||||||
|
|
||||||
node * r3_tree_insert_pathl(node *tree, const char *path, int path_len, void * data);
|
node * r3_tree_insert_pathl(node *tree, const char *path, int path_len, void * data);
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ route * r3_tree_insert_routel(node *tree, int method, const char *path, int path
|
||||||
/**
|
/**
|
||||||
* The private API to insert a path
|
* The private API to insert a path
|
||||||
*/
|
*/
|
||||||
node * r3_tree_insert_pathl_ex(node *tree, const char *path, int path_len, route * route, void * data, char ** errstr);
|
node * r3_tree_insert_pathl_ex(node *tree, const char *path, int path_len, route * route, void * data, const char ** errstr);
|
||||||
|
|
||||||
void r3_tree_dump(const node * n, int level);
|
void r3_tree_dump(const node * n, int level);
|
||||||
|
|
||||||
|
|
|
@ -496,7 +496,7 @@ node * r3_tree_insert_pathl(node *tree, const char *path, int path_len, void * d
|
||||||
* 4. "aaa{slug:xxx}/hate" vs "aab{slug:yyy}/bar" => common prefix = "aa"
|
* 4. "aaa{slug:xxx}/hate" vs "aab{slug:yyy}/bar" => common prefix = "aa"
|
||||||
* 5. "/foo/{slug}/hate" vs "/fo{slug}/bar" => common prefix = "/fo"
|
* 5. "/foo/{slug}/hate" vs "/fo{slug}/bar" => common prefix = "/fo"
|
||||||
*/
|
*/
|
||||||
edge * r3_node_find_common_prefix(node *n, const char *path, int path_len, int *prefix_len, char **errstr) {
|
edge * r3_node_find_common_prefix(node *n, const char *path, int path_len, int *prefix_len, const char **errstr) {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int prefix = 0;
|
int prefix = 0;
|
||||||
*prefix_len = 0;
|
*prefix_len = 0;
|
||||||
|
@ -557,7 +557,7 @@ edge * r3_node_find_common_prefix(node *n, const char *path, int path_len, int *
|
||||||
/**
|
/**
|
||||||
* Return the last inserted node.
|
* Return the last inserted node.
|
||||||
*/
|
*/
|
||||||
node * r3_tree_insert_pathl_ex(node *tree, const char *path, int path_len, route * route, void * data, char **errstr)
|
node * r3_tree_insert_pathl_ex(node *tree, const char *path, int path_len, route * route, void * data, const char **errstr)
|
||||||
{
|
{
|
||||||
node * n = tree;
|
node * n = tree;
|
||||||
|
|
||||||
|
@ -568,7 +568,7 @@ node * r3_tree_insert_pathl_ex(node *tree, const char *path, int path_len, route
|
||||||
|
|
||||||
/* length of common prefix */
|
/* length of common prefix */
|
||||||
int prefix_len = 0;
|
int prefix_len = 0;
|
||||||
char *err = NULL;
|
const char *err = NULL;
|
||||||
e = r3_node_find_common_prefix(tree, path, path_len, &prefix_len, &err);
|
e = r3_node_find_common_prefix(tree, path, path_len, &prefix_len, &err);
|
||||||
if (err) {
|
if (err) {
|
||||||
// copy the error message pointer
|
// copy the error message pointer
|
||||||
|
|
12
src/slug.c
12
src/slug.c
|
@ -76,7 +76,7 @@ Return 1 => Slug found
|
||||||
Return -1 => Slug parsing error
|
Return -1 => Slug parsing error
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int r3_slug_parse(r3_slug_t *s, const char *needle, int needle_len, const char *offset, char **errstr) {
|
int r3_slug_parse(r3_slug_t *s, const char *needle, int needle_len, const char *offset, const char **errstr) {
|
||||||
s->path = (char*) needle;
|
s->path = (char*) needle;
|
||||||
s->path_len = needle_len;
|
s->path_len = needle_len;
|
||||||
|
|
||||||
|
@ -138,7 +138,9 @@ int r3_slug_parse(r3_slug_t *s, const char *needle, int needle_len, const char *
|
||||||
|
|
||||||
if (state != 0) {
|
if (state != 0) {
|
||||||
if (errstr) {
|
if (errstr) {
|
||||||
asprintf(errstr, "Incomplete slug pattern. PATH (%d): '%s', OFFSET: %ld, STATE: %d", needle_len, needle, p - needle, state);
|
char *err = NULL;
|
||||||
|
asprintf(&err, "Incomplete slug pattern. PATH (%d): '%s', OFFSET: %ld, STATE: %d", needle_len, needle, p - needle, state);
|
||||||
|
*errstr = err;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -150,7 +152,7 @@ int r3_slug_parse(r3_slug_t *s, const char *needle, int needle_len, const char *
|
||||||
/**
|
/**
|
||||||
* provide a quick way to count slugs, simply search for '{'
|
* provide a quick way to count slugs, simply search for '{'
|
||||||
*/
|
*/
|
||||||
int slug_count(const char * needle, int len, char **errstr) {
|
int slug_count(const char * needle, int len, const char **errstr) {
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
int state = 0;
|
int state = 0;
|
||||||
char * p = (char*) needle;
|
char * p = (char*) needle;
|
||||||
|
@ -174,7 +176,9 @@ int slug_count(const char * needle, int len, char **errstr) {
|
||||||
info("FOUND PATTERN: '%s' (%d), STATE: %d\n", needle, len, state);
|
info("FOUND PATTERN: '%s' (%d), STATE: %d\n", needle, len, state);
|
||||||
if (state != 0) {
|
if (state != 0) {
|
||||||
if (errstr) {
|
if (errstr) {
|
||||||
asprintf(errstr, "Incomplete slug pattern. PATTERN (%d): '%s', OFFSET: %ld, STATE: %d", len, needle, p - needle, state);
|
char *err = NULL;
|
||||||
|
asprintf(&err, "Incomplete slug pattern. PATTERN (%d): '%s', OFFSET: %ld, STATE: %d", len, needle, p - needle, state);
|
||||||
|
*errstr = err;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,13 +43,13 @@ r3_slug_t * r3_slug_new(const char * path, int path_len);
|
||||||
|
|
||||||
int r3_slug_check(r3_slug_t *s);
|
int r3_slug_check(r3_slug_t *s);
|
||||||
|
|
||||||
int r3_slug_parse(r3_slug_t *s, const char *needle, int needle_len, const char *offset, char **errstr);
|
int r3_slug_parse(r3_slug_t *s, const char *needle, int needle_len, const char *offset, const char **errstr);
|
||||||
|
|
||||||
char * r3_slug_to_str(const r3_slug_t *s);
|
char * r3_slug_to_str(const r3_slug_t *s);
|
||||||
|
|
||||||
void r3_slug_free(r3_slug_t * s);
|
void r3_slug_free(r3_slug_t * s);
|
||||||
|
|
||||||
int slug_count(const char * needle, int len, char **errstr);
|
int slug_count(const char * needle, int len, const char **errstr);
|
||||||
|
|
||||||
static inline int r3_path_contains_slug_char(const char * str) {
|
static inline int r3_path_contains_slug_char(const char * str) {
|
||||||
return strchr(str, '{') != NULL ? 1 : 0;
|
return strchr(str, '{') != NULL ? 1 : 0;
|
||||||
|
|
Loading…
Reference in a new issue