summaryrefslogtreecommitdiff
path: root/content/fetch.c
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2003-04-25 08:03:15 +0000
committerJames Bursa <james@netsurf-browser.org>2003-04-25 08:03:15 +0000
commit0285c2984fc1913d583432716d6fff4f9f291994 (patch)
tree2bc779ca5e62489de76e4a59ea470e94080c0621 /content/fetch.c
parent58c28f9c1ab86da14f15cee44ae936c74d812a5f (diff)
downloadnetsurf-0285c2984fc1913d583432716d6fff4f9f291994.tar.gz
netsurf-0285c2984fc1913d583432716d6fff4f9f291994.tar.bz2
[project @ 2003-04-25 08:03:15 by bursa]
Various memory fixes. svn path=/import/netsurf/; revision=128
Diffstat (limited to 'content/fetch.c')
-rw-r--r--content/fetch.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/content/fetch.c b/content/fetch.c
index 93a0c124d..bbf6b2916 100644
--- a/content/fetch.c
+++ b/content/fetch.c
@@ -1,5 +1,5 @@
/**
- * $Id: fetch.c,v 1.6 2003/04/17 21:35:02 bursa Exp $
+ * $Id: fetch.c,v 1.7 2003/04/25 08:03:15 bursa Exp $
*
* This module handles fetching of data from any url.
*
@@ -114,7 +114,9 @@ struct fetch * fetch_start(char *url, char *referer,
fetch->referer = xstrdup(referer);
fetch->p = p;
fetch->headers = 0;
- fetch->host = xstrdup(uri->server);
+ fetch->host = 0;
+ if (uri->server != 0)
+ fetch->host = xstrdup(uri->server);
fetch->queue = 0;
fetch->prev = 0;
fetch->next = 0;
@@ -122,16 +124,19 @@ struct fetch * fetch_start(char *url, char *referer,
xmlFreeURI(uri);
/* look for a fetch from the same host */
- for (host_fetch = fetch_list;
- host_fetch != 0 && strcasecmp(host_fetch->host, fetch->host) != 0;
- host_fetch = host_fetch->next)
- ;
- if (host_fetch != 0) {
- /* fetch from this host in progress: queue the new fetch */
- LOG(("queueing"));
- fetch->queue = host_fetch->queue;
- host_fetch->queue = fetch;
- return fetch;
+ if (fetch->host != 0) {
+ for (host_fetch = fetch_list;
+ host_fetch != 0 && (host_fetch->host == 0 ||
+ strcasecmp(host_fetch->host, fetch->host) != 0);
+ host_fetch = host_fetch->next)
+ ;
+ if (host_fetch != 0) {
+ /* fetch from this host in progress: queue the new fetch */
+ LOG(("queueing"));
+ fetch->queue = host_fetch->queue;
+ host_fetch->queue = fetch;
+ return fetch;
+ }
}
fetch->next = fetch_list;