summaryrefslogtreecommitdiff
path: root/content/urldb.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-01-31 02:49:26 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-01-31 02:49:26 +0000
commite2ebfb72f7f66deae6571f7575ec6d25a4f6981c (patch)
tree82fcf50e2562e8d78b98468870b1fcb1597ccb1d /content/urldb.c
parent966b40288149e49be78f16a6e245a797c929238f (diff)
downloadnetsurf-e2ebfb72f7f66deae6571f7575ec6d25a4f6981c.tar.gz
netsurf-e2ebfb72f7f66deae6571f7575ec6d25a4f6981c.tar.bz2
Fix urldb_match_path().
Fix test code. svn path=/trunk/netsurf/; revision=6316
Diffstat (limited to 'content/urldb.c')
-rw-r--r--content/urldb.c18
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
*/