From b6c2d97d3bf98c46656a7e6697c1c0f4686d7d97 Mon Sep 17 00:00:00 2001 From: Mole Shang <135e2@135e2.dev> Date: Mon, 7 Aug 2023 21:54:09 +0800 Subject: process_url: use goto to simplify error processing --- src/process_url.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3