diff options
Diffstat (limited to 'src/process_url.c')
-rw-r--r-- | src/process_url.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/process_url.c b/src/process_url.c index 71fdacd..bf2edfd 100644 --- a/src/process_url.c +++ b/src/process_url.c @@ -254,29 +254,26 @@ static bool get_info(const char *URL, long *psize) { curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL); CURLcode r = curl_easy_perform(curl); if (logerr(r)) { - curl_easy_cleanup(curl); - return support_range; + goto end; } r = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, (curl_off_t *)psize); if (logerr(r)) { - curl_easy_cleanup(curl); - return support_range; + goto end; } CURLHcode rh = curl_easy_header(curl, "Accept-Ranges", 0, CURLH_HEADER, -1, &pch); if (logerr(rh) || strcmp(pch->value, "bytes")) { - curl_easy_cleanup(curl); - return support_range; + goto end; } char *ct = NULL; r = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct); if (logerr(r)) { - curl_easy_cleanup(curl); - return support_range; + goto end; } support_range = true; +end: curl_easy_cleanup(curl); return support_range; } |