From 5f0588d6ccdd93bac2e932c884c56ef23667d474 Mon Sep 17 00:00:00 2001 From: Rose <83477269+AtariDreams@users.noreply.github.com> Date: Thu, 20 Apr 2023 14:47:59 -0400 Subject: [PATCH] Fix a handful of compiler warnings This fixes a couple of warnings raised by clang. --- CMakeLists.txt | 2 +- libarchive/archive_disk_acl_darwin.c | 17 ++++++------- libarchive/archive_disk_acl_freebsd.c | 15 ++++++------ libarchive/archive_disk_acl_linux.c | 22 +++++++++-------- libarchive/archive_disk_acl_sunos.c | 16 ++++++------- .../archive_read_disk_entry_from_file.c | 8 ++++--- libarchive/archive_read_open_fd.c | 2 +- libarchive/archive_read_open_file.c | 2 +- libarchive/archive_read_support_filter_lzop.c | 3 --- libarchive/archive_read_support_filter_zstd.c | 4 ---- libarchive/archive_read_support_format_rar.c | 24 +++++++++---------- libarchive/archive_write_disk_posix.c | 10 ++++---- libarchive/archive_write_set_format_pax.c | 2 +- 13 files changed, 63 insertions(+), 64 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6211fd8ac1..5bd7151967 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1088,7 +1088,7 @@ MACRO(CHECK_ICONV LIB TRY_ICONV_CONST) ENDIF(HAVE_ICONV_${LIB}_${TRY_ICONV_CONST}) CMAKE_POP_CHECK_STATE() # Restore the state of the variables ENDIF(NOT HAVE_ICONV) -ENDMACRO(CHECK_ICONV TRY_ICONV_CONST) +ENDMACRO() IF(ENABLE_ICONV) CMAKE_PUSH_CHECK_STATE() # Save the state of the variables diff --git a/libarchive/archive_disk_acl_darwin.c b/libarchive/archive_disk_acl_darwin.c index 48ad016512..c2cb88d575 100644 --- a/libarchive/archive_disk_acl_darwin.c +++ b/libarchive/archive_disk_acl_darwin.c @@ -76,8 +76,8 @@ static const acl_perm_map_t acl_nfs4_perm_map[] = { #endif }; -static const int acl_nfs4_perm_map_size = - (int)(sizeof(acl_nfs4_perm_map)/sizeof(acl_nfs4_perm_map[0])); +static const size_t acl_nfs4_perm_map_size = + (sizeof(acl_nfs4_perm_map) / sizeof(acl_nfs4_perm_map[0])); static const acl_perm_map_t acl_nfs4_flag_map[] = { {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED}, @@ -87,8 +87,8 @@ static const acl_perm_map_t acl_nfs4_flag_map[] = { {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_ONLY_INHERIT} }; -static const int acl_nfs4_flag_map_size = - (int)(sizeof(acl_nfs4_flag_map)/sizeof(acl_nfs4_flag_map[0])); +static const size_t acl_nfs4_flag_map_size = + (sizeof(acl_nfs4_flag_map) / sizeof(acl_nfs4_flag_map[0])); static int translate_guid(struct archive *a, acl_entry_t acl_entry, int *ae_id, int *ae_tag, const char **ae_name) @@ -124,7 +124,7 @@ static void add_trivial_nfs4_acl(struct archive_entry *entry) { mode_t mode; - int i; + size_t i; const int rperm = ARCHIVE_ENTRY_ACL_READ_DATA; const int wperm = ARCHIVE_ENTRY_ACL_WRITE_DATA | ARCHIVE_ENTRY_ACL_APPEND_DATA; @@ -195,7 +195,7 @@ add_trivial_nfs4_acl(struct archive_entry *entry) } else if ((mode & 0010) || (mode & 0001)) tacl_entry[1].permset |= eperm; - for (i = 0; i < 6; i++) { + for (i = 0; i < sizeof(tacl_entry) / sizeof(tacl_entry[0]); i++) { if (tacl_entry[i].permset != 0) { archive_entry_acl_add_entry(entry, tacl_entry[i].type, tacl_entry[i].permset, @@ -214,8 +214,9 @@ translate_acl(struct archive_read_disk *a, acl_flagset_t acl_flagset; acl_entry_t acl_entry; acl_permset_t acl_permset; - int i, entry_acl_type; + int entry_acl_type; int r, s, ae_id, ae_tag, ae_perm; + size_t i; const char *ae_name; s = acl_get_entry(acl, ACL_FIRST_ENTRY, &acl_entry); @@ -333,7 +334,7 @@ set_acl(struct archive *a, int fd, const char *name, gid_t ae_gid; const char *ae_name; int entries; - int i; + size_t i; ret = ARCHIVE_OK; entries = archive_acl_reset(abstract_acl, ae_requested_type); diff --git a/libarchive/archive_disk_acl_freebsd.c b/libarchive/archive_disk_acl_freebsd.c index ed4e7a7896..15783fb8fe 100644 --- a/libarchive/archive_disk_acl_freebsd.c +++ b/libarchive/archive_disk_acl_freebsd.c @@ -83,8 +83,8 @@ static const acl_perm_map_t acl_nfs4_perm_map[] = { {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, ACL_SYNCHRONIZE} }; -static const int acl_nfs4_perm_map_size = - (int)(sizeof(acl_nfs4_perm_map)/sizeof(acl_nfs4_perm_map[0])); +static const size_t acl_nfs4_perm_map_size = + (sizeof(acl_nfs4_perm_map) / sizeof(acl_nfs4_perm_map[0])); static const acl_perm_map_t acl_nfs4_flag_map[] = { {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, @@ -98,8 +98,8 @@ static const acl_perm_map_t acl_nfs4_flag_map[] = { #endif }; -static const int acl_nfs4_flag_map_size = - (int)(sizeof(acl_nfs4_flag_map)/sizeof(acl_nfs4_flag_map[0])); +static const size_t acl_nfs4_flag_map_size = + (sizeof(acl_nfs4_flag_map) / sizeof(acl_nfs4_flag_map[0])); #endif /* ARCHIVE_ACL_FREEBSD_NFS4 */ static int @@ -114,8 +114,10 @@ translate_acl(struct archive_read_disk *a, acl_tag_t acl_tag; acl_entry_t acl_entry; acl_permset_t acl_permset; - int i, entry_acl_type, perm_map_size; + int entry_acl_type; + size_t perm_map_size; const acl_perm_map_t *perm_map; + size_t i; int r, s, ae_id, ae_tag, ae_perm; void *q; const char *ae_name; @@ -332,13 +334,12 @@ set_acl(struct archive *a, int fd, const char *name, #endif int ret; int ae_type, ae_permset, ae_tag, ae_id; - int perm_map_size; + size_t i, perm_map_size; const acl_perm_map_t *perm_map; uid_t ae_uid; gid_t ae_gid; const char *ae_name; int entries; - int i; ret = ARCHIVE_OK; entries = archive_acl_reset(abstract_acl, ae_requested_type); diff --git a/libarchive/archive_disk_acl_linux.c b/libarchive/archive_disk_acl_linux.c index 31d270535c..0673bec257 100644 --- a/libarchive/archive_disk_acl_linux.c +++ b/libarchive/archive_disk_acl_linux.c @@ -62,8 +62,8 @@ static const acl_perm_map_t acl_posix_perm_map[] = { {ARCHIVE_ENTRY_ACL_READ, ACL_READ}, }; -static const int acl_posix_perm_map_size = - (int)(sizeof(acl_posix_perm_map)/sizeof(acl_posix_perm_map[0])); +static const size_t acl_posix_perm_map_size = + (sizeof(acl_posix_perm_map) / sizeof(acl_posix_perm_map[0])); #endif /* ARCHIVE_ACL_LIBACL */ #if ARCHIVE_ACL_LIBRICHACL @@ -87,8 +87,8 @@ static const acl_perm_map_t acl_nfs4_perm_map[] = { {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, RICHACE_SYNCHRONIZE} }; -static const int acl_nfs4_perm_map_size = - (int)(sizeof(acl_nfs4_perm_map)/sizeof(acl_nfs4_perm_map[0])); +static const size_t acl_nfs4_perm_map_size = + (sizeof(acl_nfs4_perm_map)/sizeof(acl_nfs4_perm_map[0])); static const acl_perm_map_t acl_nfs4_flag_map[] = { {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, RICHACE_FILE_INHERIT_ACE}, @@ -98,8 +98,8 @@ static const acl_perm_map_t acl_nfs4_flag_map[] = { {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, RICHACE_INHERITED_ACE} }; -static const int acl_nfs4_flag_map_size = - (int)(sizeof(acl_nfs4_flag_map)/sizeof(acl_nfs4_flag_map[0])); +static const size_t acl_nfs4_flag_map_size = + (sizeof(acl_nfs4_flag_map) / sizeof(acl_nfs4_flag_map[0])); #endif /* ARCHIVE_ACL_LIBRICHACL */ #if ARCHIVE_ACL_LIBACL @@ -113,8 +113,9 @@ translate_acl(struct archive_read_disk *a, acl_tag_t acl_tag; acl_entry_t acl_entry; acl_permset_t acl_permset; - int i, entry_acl_type; + int entry_acl_type; int r, s, ae_id, ae_tag, ae_perm; + size_t i; void *q; const char *ae_name; @@ -219,7 +220,8 @@ translate_richacl(struct archive_read_disk *a, struct archive_entry *entry, struct richacl *richacl) { int ae_id, ae_tag, ae_perm; - int entry_acl_type, i; + int entry_acl_type; + size_t i; const char *ae_name; struct richace *richace; @@ -326,7 +328,7 @@ set_richacl(struct archive *a, int fd, const char *name, gid_t ae_gid; const char *ae_name; int entries; - int i; + size_t i; int ret; int e = 0; struct richacl *richacl = NULL; @@ -469,7 +471,7 @@ set_acl(struct archive *a, int fd, const char *name, gid_t ae_gid; const char *ae_name; int entries; - int i; + size_t i; int ret; acl_t acl = NULL; acl_entry_t acl_entry; diff --git a/libarchive/archive_disk_acl_sunos.c b/libarchive/archive_disk_acl_sunos.c index 0ef3ad52ee..8587f67154 100644 --- a/libarchive/archive_disk_acl_sunos.c +++ b/libarchive/archive_disk_acl_sunos.c @@ -81,8 +81,8 @@ static const acl_perm_map_t acl_nfs4_perm_map[] = { {ARCHIVE_ENTRY_ACL_SYNCHRONIZE, ACE_SYNCHRONIZE} }; -static const int acl_nfs4_perm_map_size = - (int)(sizeof(acl_nfs4_perm_map)/sizeof(acl_nfs4_perm_map[0])); +static const size_t acl_nfs4_perm_map_size = + (sizeof(acl_nfs4_perm_map)/sizeof(acl_nfs4_perm_map[0])); static const acl_perm_map_t acl_nfs4_flag_map[] = { {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACE_FILE_INHERIT_ACE}, @@ -96,8 +96,8 @@ static const acl_perm_map_t acl_nfs4_flag_map[] = { #endif }; -const int acl_nfs4_flag_map_size = - (int)(sizeof(acl_nfs4_flag_map)/sizeof(acl_nfs4_flag_map[0])); +const size_t acl_nfs4_flag_map_size = + (sizeof(acl_nfs4_flag_map) / sizeof(acl_nfs4_flag_map[0])); #endif /* ARCHIVE_ACL_SUNOS_NFS4 */ @@ -164,7 +164,7 @@ sun_acl_is_trivial(void *aclp, int aclcnt, mode_t mode, int is_nfs4, int is_dir, int *trivialp) { #if ARCHIVE_ACL_SUNOS_NFS4 - int i, p; + size_t i, p; const uint32_t rperm = ACE_READ_DATA; const uint32_t wperm = ACE_WRITE_DATA | ACE_APPEND_DATA; const uint32_t eperm = ACE_EXECUTE; @@ -316,10 +316,11 @@ translate_acl(struct archive_read_disk *a, struct archive_entry *entry, void *aclp, int aclcnt, int default_entry_acl_type) { - int e, i; + int e; int ae_id, ae_tag, ae_perm; int entry_acl_type; const char *ae_name; + size_t i; aclent_t *aclent; #if ARCHIVE_ACL_SUNOS_NFS4 ace_t *ace; @@ -454,13 +455,12 @@ set_acl(struct archive *a, int fd, const char *name, void *aclp; int ret; int ae_type, ae_permset, ae_tag, ae_id; - int perm_map_size; + size_t i, perm_map_size; const acl_perm_map_t *perm_map; uid_t ae_uid; gid_t ae_gid; const char *ae_name; int entries; - int i; ret = ARCHIVE_OK; entries = archive_acl_reset(abstract_acl, ae_requested_type); diff --git a/libarchive/archive_read_disk_entry_from_file.c b/libarchive/archive_read_disk_entry_from_file.c index ab0270bc28..5a0ca5621e 100644 --- a/libarchive/archive_read_disk_entry_from_file.c +++ b/libarchive/archive_read_disk_entry_from_file.c @@ -794,7 +794,8 @@ setup_xattrs(struct archive_read_disk *a, struct archive_entry *entry, int *fd) { int namespaces[2]; - int i, res; + int res; + unsigned i; namespaces[0] = EXTATTR_NAMESPACE_USER; namespaces[1] = EXTATTR_NAMESPACE_SYSTEM; @@ -894,7 +895,8 @@ setup_sparse_fiemap(struct archive_read_disk *a, do_fiemap = 1; size = archive_entry_size(entry); for (iters = 0; ; ++iters) { - int i, r; + size_t i; + int r; r = ioctl(*fd, FS_IOC_FIEMAP, fm); if (r < 0) { @@ -911,7 +913,7 @@ setup_sparse_fiemap(struct archive_read_disk *a, break; } fe = fm->fm_extents; - for (i = 0; i < (int)fm->fm_mapped_extents; i++, fe++) { + for (i = 0; i < fm->fm_mapped_extents; i++, fe++) { if (!(fe->fe_flags & FIEMAP_EXTENT_UNWRITTEN)) { /* The fe_length of the last block does not * adjust itself to its size files. */ diff --git a/libarchive/archive_read_open_fd.c b/libarchive/archive_read_open_fd.c index f59cd07fe6..323c7345f9 100644 --- a/libarchive/archive_read_open_fd.c +++ b/libarchive/archive_read_open_fd.c @@ -134,13 +134,13 @@ file_skip(struct archive *a, void *client_data, int64_t request) struct read_fd_data *mine = (struct read_fd_data *)client_data; int64_t skip = request; int64_t old_offset, new_offset; - int skip_bits = sizeof(skip) * 8 - 1; /* off_t is a signed type. */ if (!mine->use_lseek) return (0); /* Reduce a request that would overflow the 'skip' variable. */ if (sizeof(request) > sizeof(skip)) { + int skip_bits = sizeof(skip) * 8 - 1; /* off_t is a signed type. */ int64_t max_skip = (((int64_t)1 << (skip_bits - 1)) - 1) * 2 + 1; if (request > max_skip) diff --git a/libarchive/archive_read_open_file.c b/libarchive/archive_read_open_file.c index 03719e8bff..85f4403656 100644 --- a/libarchive/archive_read_open_file.c +++ b/libarchive/archive_read_open_file.c @@ -130,7 +130,6 @@ file_skip(struct archive *a, void *client_data, int64_t request) #else long skip = (long)request; #endif - int skip_bits = sizeof(skip) * 8 - 1; (void)a; /* UNUSED */ @@ -145,6 +144,7 @@ file_skip(struct archive *a, void *client_data, int64_t request) /* If request is too big for a long or an off_t, reduce it. */ if (sizeof(request) > sizeof(skip)) { + int skip_bits = sizeof(skip) * 8 - 1; int64_t max_skip = (((int64_t)1 << (skip_bits - 1)) - 1) * 2 + 1; if (request > max_skip) diff --git a/libarchive/archive_read_support_filter_lzop.c b/libarchive/archive_read_support_filter_lzop.c index 87c741786b..44782bc180 100644 --- a/libarchive/archive_read_support_filter_lzop.c +++ b/libarchive/archive_read_support_filter_lzop.c @@ -40,9 +40,6 @@ __FBSDID("$FreeBSD$"); #ifdef HAVE_STRING_H #include #endif -#ifdef HAVE_UNISTD_H -#include -#endif #ifdef HAVE_LZO_LZOCONF_H #include #endif diff --git a/libarchive/archive_read_support_filter_zstd.c b/libarchive/archive_read_support_filter_zstd.c index e18662c0f9..c22ef2a2a1 100644 --- a/libarchive/archive_read_support_filter_zstd.c +++ b/libarchive/archive_read_support_filter_zstd.c @@ -27,10 +27,6 @@ __FBSDID("$FreeBSD$"); -#ifdef HAVE_ERRNO_H -#include -#endif - #ifdef HAVE_ERRNO_H #include #endif diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c index 99a11d1700..ae76a857f6 100644 --- a/libarchive/archive_read_support_format_rar.c +++ b/libarchive/archive_read_support_format_rar.c @@ -511,10 +511,10 @@ rar_br_fillup(struct archive_read *a, struct rar_br *br) ((uint64_t)br->next_in[1]) << 48 | ((uint64_t)br->next_in[2]) << 40 | ((uint64_t)br->next_in[3]) << 32 | - ((uint32_t)br->next_in[4]) << 24 | - ((uint32_t)br->next_in[5]) << 16 | - ((uint32_t)br->next_in[6]) << 8 | - (uint32_t)br->next_in[7]; + ((uint64_t)br->next_in[4]) << 24 | + ((uint64_t)br->next_in[5]) << 16 | + ((uint64_t)br->next_in[6]) << 8 | + (uint64_t)br->next_in[7]; br->next_in += 8; br->avail_in -= 8; br->cache_avail += 8 * 8; @@ -530,10 +530,10 @@ rar_br_fillup(struct archive_read *a, struct rar_br *br) ((uint64_t)br->next_in[0]) << 48 | ((uint64_t)br->next_in[1]) << 40 | ((uint64_t)br->next_in[2]) << 32 | - ((uint32_t)br->next_in[3]) << 24 | - ((uint32_t)br->next_in[4]) << 16 | - ((uint32_t)br->next_in[5]) << 8 | - (uint32_t)br->next_in[6]; + ((uint64_t)br->next_in[3]) << 24 | + ((uint64_t)br->next_in[4]) << 16 | + ((uint64_t)br->next_in[5]) << 8 | + (uint64_t)br->next_in[6]; br->next_in += 7; br->avail_in -= 7; br->cache_avail += 7 * 8; @@ -548,10 +548,10 @@ rar_br_fillup(struct archive_read *a, struct rar_br *br) (br->cache_buffer << 48) | ((uint64_t)br->next_in[0]) << 40 | ((uint64_t)br->next_in[1]) << 32 | - ((uint32_t)br->next_in[2]) << 24 | - ((uint32_t)br->next_in[3]) << 16 | - ((uint32_t)br->next_in[4]) << 8 | - (uint32_t)br->next_in[5]; + ((uint64_t)br->next_in[2]) << 24 | + ((uint64_t)br->next_in[3]) << 16 | + ((uint64_t)br->next_in[4]) << 8 | + (uint64_t)br->next_in[5]; br->next_in += 6; br->avail_in -= 6; br->cache_avail += 6 * 8; diff --git a/libarchive/archive_write_disk_posix.c b/libarchive/archive_write_disk_posix.c index c8c2e1058c..2bb7cf264c 100644 --- a/libarchive/archive_write_disk_posix.c +++ b/libarchive/archive_write_disk_posix.c @@ -707,7 +707,7 @@ _archive_write_disk_header(struct archive *_a, struct archive_entry *entry) const void *attr_value; size_t attr_size; int i = archive_entry_xattr_reset(a->entry); - while (i--) { + while (i-- > 0) { archive_entry_xattr_next(a->entry, &attr_name, &attr_value, &attr_size); if (attr_name != NULL && attr_value != NULL && @@ -4489,7 +4489,7 @@ set_xattrs(struct archive_write_disk *a) archive_string_init(&errlist); - while (i--) { + while (i-- > 0) { const char *name; const void *value; size_t size; @@ -4575,11 +4575,11 @@ set_xattrs(struct archive_write_disk *a) struct archive_string errlist; int ret = ARCHIVE_OK; int i = archive_entry_xattr_reset(entry); - short fail = 0; + int fail = 0; archive_string_init(&errlist); - while (i--) { + while (i-- > 0) { const char *name; const void *value; size_t size; @@ -4632,7 +4632,7 @@ set_xattrs(struct archive_write_disk *a) e = extattr_set_fd(a->fd, namespace, name, value, size); if (e == 0 && errno == 0) { - e = size; + e = (int)size; } } else { e = extattr_set_link( diff --git a/libarchive/archive_write_set_format_pax.c b/libarchive/archive_write_set_format_pax.c index 1eb9a9a4b6..490ab1fa45 100644 --- a/libarchive/archive_write_set_format_pax.c +++ b/libarchive/archive_write_set_format_pax.c @@ -397,7 +397,7 @@ archive_write_pax_header_xattrs(struct archive_write *a, { int i = archive_entry_xattr_reset(entry); - while (i--) { + while (i-- > 0) { const char *name; const void *value; char *url_encoded_name = NULL, *encoded_name = NULL;