From 34ba8d984d89393ab85ca67724b87af67ff004c3 Mon Sep 17 00:00:00 2001 From: Anatol Pomozov Date: Mon, 18 May 2020 14:13:11 -0700 Subject: Do not use counter for error tracking Current code uses an incrementing counter to check whether a function returned error: errors += some_function(); if(errors) { goto finish } Replace with a more standard variable errors = some_function(); if(errors) { goto finish } Rename 'errors' variable to a more typical 'ret'. Avoid reporting both ALPM_EVENT_PKG_RETRIEVE_FAILED and ALPM_EVENT_PKG_RETRIEVE_DONE in the error path. Signed-off-by: Anatol Pomozov Signed-off-by: Allan McRae --- lib/libalpm/sync.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 0c2341ae..ea45767a 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -730,7 +730,7 @@ static int download_files(alpm_handle_t *handle) { const char *cachedir; alpm_list_t *i, *files = NULL; - int errors = 0; + int ret = 0; alpm_event_t event; alpm_list_t *payloads = NULL; @@ -750,14 +750,16 @@ static int download_files(alpm_handle_t *handle) handle->totaldlcb(total_size); } - errors += find_dl_candidates(handle, &files); + ret = find_dl_candidates(handle, &files); + if(ret) { + goto finish; + } - if(files && !errors) { + if(files) { /* check for necessary disk space for download */ if(handle->checkspace) { off_t *file_sizes; size_t idx, num_files; - int ret; _alpm_log(handle, ALPM_LOG_DEBUG, "checking available disk space for download\n"); @@ -773,7 +775,6 @@ static int download_files(alpm_handle_t *handle) free(file_sizes); if(ret != 0) { - errors++; goto finish; } } @@ -796,12 +797,13 @@ static int download_files(alpm_handle_t *handle) payloads = alpm_list_add(payloads, payload); } - event.type = ALPM_EVENT_PKG_RETRIEVE_DONE; if(_alpm_download(handle, payloads, cachedir) == -1) { - errors++; event.type = ALPM_EVENT_PKG_RETRIEVE_FAILED; + EVENT(handle, &event); _alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n")); + goto finish; } + event.type = ALPM_EVENT_PKG_RETRIEVE_DONE; EVENT(handle, &event); } @@ -826,7 +828,7 @@ finish: handle->totaldlcb(0); } - return errors; + return ret; } #ifdef HAVE_LIBGPGME -- cgit v1.2.3-24-g4f1b