diff options
author | Daniel Stenberg <daniel@haxx.se> | 2000-10-06 06:28:39 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2000-10-06 06:28:39 +0000 |
commit | 03a56b3e56f8200c479f3786b54dc458b148f667 (patch) | |
tree | b99cbce86f059275f8e7e56c769388d1c2fdcffc | |
parent | 18f67852be77951b9d559240d382a223223666e4 (diff) |
HTTP resume fix, now the range pointer may be allocated
-rw-r--r-- | lib/url.c | 8 | ||||
-rw-r--r-- | lib/urldata.h | 1 |
2 files changed, 8 insertions, 1 deletions
@@ -183,6 +183,11 @@ void static urlfree(struct UrlData *data, bool totally) switch off that knowledge again... */ data->bits.httpproxy=FALSE; } + + if(data->bits.rangestringalloc) { + free(data->range); + data->range=NULL; + } if(data->ptr_proxyuserpwd) { free(data->ptr_proxyuserpwd); @@ -906,7 +911,8 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect) if(!data->bits.set_range) { /* if it already was in use, we just skip this */ sprintf(resumerange, "%d-", data->resume_from); - data->range=resumerange; /* tell ourselves to fetch this range */ + data->range=strdup(resumerange); /* tell ourselves to fetch this range */ + data->bits.rangestringalloc = TRUE; /* mark as allocated */ data->bits.set_range = 1; /* switch on range usage */ } } diff --git a/lib/urldata.h b/lib/urldata.h index 241bfc268..87e49a840 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -307,6 +307,7 @@ struct Configbits { bool proxystringalloc; /* the http proxy string is malloc()'ed */ bool set_port; bool set_range; + bool rangestringalloc; /* the range string is malloc()'ed */ bool upload; bool use_netrc; bool user_passwd; |