Fix progress bar overflow while checking package integrity
On 32bit systems, the progress bar intergrity checking can show values greater than 100% with large transactions. This is due to the total size of all package files being greater than a size_t. Use uint64_t for these sizes. Fixes FS#36608 Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
3e903d34cc
commit
dcfc247a2c
1 changed files with 5 additions and 3 deletions
|
@ -1054,7 +1054,7 @@ static int check_keyring(alpm_handle_t *handle)
|
|||
#endif /* HAVE_LIBGPGME */
|
||||
|
||||
static int check_validity(alpm_handle_t *handle,
|
||||
size_t total, size_t total_bytes)
|
||||
size_t total, uint64_t total_bytes)
|
||||
{
|
||||
struct validity {
|
||||
alpm_pkg_t *pkg;
|
||||
|
@ -1064,7 +1064,8 @@ static int check_validity(alpm_handle_t *handle,
|
|||
alpm_pkgvalidation_t validation;
|
||||
alpm_errno_t error;
|
||||
};
|
||||
size_t current = 0, current_bytes = 0;
|
||||
size_t current = 0;
|
||||
uint64_t current_bytes = 0;
|
||||
alpm_list_t *i, *errors = NULL;
|
||||
|
||||
/* Check integrity of packages */
|
||||
|
@ -1197,7 +1198,8 @@ static int load_packages(alpm_handle_t *handle, alpm_list_t **data,
|
|||
int _alpm_sync_commit(alpm_handle_t *handle, alpm_list_t **data)
|
||||
{
|
||||
alpm_list_t *i, *deltas = NULL;
|
||||
size_t total = 0, total_bytes = 0;
|
||||
size_t total = 0;
|
||||
uint64_t total_bytes = 0;
|
||||
alpm_trans_t *trans = handle->trans;
|
||||
|
||||
if(download_files(handle, &deltas)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue