diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-01-31 02:49:26 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-01-31 02:49:26 +0000 |
commit | e2ebfb72f7f66deae6571f7575ec6d25a4f6981c (patch) | |
tree | 82fcf50e2562e8d78b98468870b1fcb1597ccb1d /content | |
parent | 966b40288149e49be78f16a6e245a797c929238f (diff) | |
download | netsurf-e2ebfb72f7f66deae6571f7575ec6d25a4f6981c.tar.gz netsurf-e2ebfb72f7f66deae6571f7575ec6d25a4f6981c.tar.bz2 |
Fix urldb_match_path().
Fix test code.
svn path=/trunk/netsurf/; revision=6316
Diffstat (limited to 'content')
-rw-r--r-- | content/urldb.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/content/urldb.c b/content/urldb.c index 2f0ff6533..93d9879ce 100644 --- a/content/urldb.c +++ b/content/urldb.c @@ -1901,10 +1901,18 @@ struct path_data *urldb_find_url(const char *url) struct path_data *urldb_match_path(const struct path_data *parent, const char *path, const char *scheme, unsigned short port) { - const struct path_data *p = parent; + const struct path_data *p; const char *slash; - do { + assert(parent != NULL); + assert(path[0] == '/'); + + /* Skip past leading / */ + path++; + /* And start with children, as parent has no segment */ + p = parent->children; + + while (p != NULL) { if (*path == '\0') return (struct path_data *) p; @@ -1923,7 +1931,7 @@ struct path_data *urldb_match_path(const struct path_data *parent, /* No match, try next sibling */ p = p->next; } - } while (p != NULL); + } return NULL; } @@ -3977,7 +3985,7 @@ void warn_user(const char *warning, const char *detail) printf("WARNING: %s %s\n", warning, detail); } -void bitmap_destroy(struct bitmap *bitmap) +void bitmap_destroy(void *bitmap) { } @@ -4151,7 +4159,7 @@ int main(void) /* gcc -g -o urldbtest -std=c99 -DTEST_URLDB -I. \ - `pkg-config --cflags --libs libxml-2.0 cairo librsvg-2.0 libcurl` \ + `pkg-config --cflags --libs libxml-2.0 cairo libcurl` \ content/urldb.c utils/url.c utils/utils.c utils/messages.c \ utils/hashtable.c utils/filename.c */ |