diff options
author | Anatol Pomozov <anatol.pomozov@gmail.com> | 2020-05-18 23:13:11 +0200 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2020-07-07 13:35:39 +0200 |
commit | 34ba8d984d89393ab85ca67724b87af67ff004c3 (patch) | |
tree | 940fc5e13f63aad4af1aa14aefe859b25e08d98e /lib/libalpm | |
parent | f078c2d3bcb72bafda0dce5fe2c9418ca462bb1a (diff) | |
download | pacman-34ba8d984d89393ab85ca67724b87af67ff004c3.tar.gz pacman-34ba8d984d89393ab85ca67724b87af67ff004c3.tar.xz |
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 <anatol.pomozov@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r-- | lib/libalpm/sync.c | 18 |
1 files 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 |