From 6a0a7c346a40f87fba42421d49dc372e33658990 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Sat, 31 Jan 2009 03:03:50 +0000 Subject: Let's try that again. Now actually passes the regression tests. svn path=/trunk/netsurf/; revision=6317 --- content/urldb.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'content') diff --git a/content/urldb.c b/content/urldb.c index 93d9879ce..9e5c45ac1 100644 --- a/content/urldb.c +++ b/content/urldb.c @@ -1905,17 +1905,13 @@ struct path_data *urldb_match_path(const struct path_data *parent, const char *slash; assert(parent != NULL); + assert(parent->segment == NULL); assert(path[0] == '/'); - /* Skip past leading / */ - path++; - /* And start with children, as parent has no segment */ + /* Start with children, as parent has no segment */ p = parent->children; while (p != NULL) { - if (*path == '\0') - return (struct path_data *) p; - slash = strchr(path + 1, '/'); if (!slash) slash = path + strlen(path); @@ -1923,6 +1919,11 @@ struct path_data *urldb_match_path(const struct path_data *parent, if (strncmp(p->segment, path + 1, slash - path - 1) == 0 && strcmp(p->scheme, scheme) == 0 && p->port == port) { + if (*slash == '\0') { + /* Complete match */ + return (struct path_data *) p; + } + /* Match so far, go down tree */ p = p->children; -- cgit v1.2.3