summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-10-05 18:05:41 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-10-05 18:05:41 +0000
commit17525fbf251df854024695079b2c4d60db4e42c6 (patch)
treec4e35b25bc27363a654c66e8db4d55645f6d9434 /content
parent7d3a84231e808b6e0f0f7e449af6f4979e9f3195 (diff)
downloadnetsurf-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.c15
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;