From 17525fbf251df854024695079b2c4d60db4e42c6 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Wed, 5 Oct 2011 18:05:41 +0000 Subject: Avoid making a new nsurl to remove fragment if there is no fragment. svn path=/trunk/netsurf/; revision=12958 --- content/llcache.c | 15 ++++++++++----- 1 file 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; -- cgit v1.2.3