diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2011-10-05 18:05:41 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2011-10-05 18:05:41 +0000 |
commit | 17525fbf251df854024695079b2c4d60db4e42c6 (patch) | |
tree | c4e35b25bc27363a654c66e8db4d55645f6d9434 /content | |
parent | 7d3a84231e808b6e0f0f7e449af6f4979e9f3195 (diff) | |
download | netsurf-17525fbf251df854024695079b2c4d60db4e42c6.tar.gz netsurf-17525fbf251df854024695079b2c4d60db4e42c6.tar.bz2 |
Avoid making a new nsurl to remove fragment if there is no fragment.
svn path=/trunk/netsurf/; revision=12958
Diffstat (limited to 'content')
-rw-r--r-- | content/llcache.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/content/llcache.c b/content/llcache.c index 1c9641121..66064d32c 100644 --- a/content/llcache.c +++ b/content/llcache.c @@ -727,9 +727,14 @@ nserror llcache_object_retrieve(nsurl *url, uint32_t flags, /* Look for a query segment */ has_query = nsurl_enquire(url, NSURL_QUERY); - error = nsurl_defragment(url, &defragmented_url); - if (error != NSERROR_OK) - return error; + /* Get rid of any url fragment */ + if (nsurl_enquire(url, NSURL_FRAGMENT)) { + error = nsurl_defragment(url, &defragmented_url); + if (error != NSERROR_OK) + return error; + } else { + defragmented_url = nsurl_ref(url); + } if (flags & LLCACHE_RETRIEVE_FORCE_FETCH || post != NULL) { /* Create new object */ @@ -751,8 +756,8 @@ nserror llcache_object_retrieve(nsurl *url, uint32_t flags, /* Add new object to uncached list */ llcache_object_add_to_list(obj, &llcache->uncached_objects); } else { - error = llcache_object_retrieve_from_cache(defragmented_url, flags, referer, - post, redirect_count, &obj); + error = llcache_object_retrieve_from_cache(defragmented_url, + flags, referer, post, redirect_count, &obj); if (error != NSERROR_OK) { nsurl_unref(defragmented_url); return error; |