Fix some warnings found by FlexeLint.
diff --git a/lib/zip_add_dir.c b/lib/zip_add_dir.c index 060ef03..9c7d279 100644 --- a/lib/zip_add_dir.c +++ b/lib/zip_add_dir.c
@@ -33,9 +33,6 @@ -#include <stdlib.h> -#include <string.h> - #define _ZIP_COMPILING_DEPRECATED #include "zipint.h"
diff --git a/lib/zip_close.c b/lib/zip_close.c index def189b..938beec 100644 --- a/lib/zip_close.c +++ b/lib/zip_close.c
@@ -55,7 +55,7 @@ /* max deflate size increase: size + ceil(size/16k)*5+6 */ -#define MAX_DEFLATE_SIZE_32 4293656963 +#define MAX_DEFLATE_SIZE_32 4293656963u static int add_data(struct zip *, struct zip_source *, struct zip_dirent *, FILE *); static int copy_data(FILE *, zip_uint64_t, FILE *, struct zip_error *);
diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c index aba6402..9386947 100644 --- a/lib/zip_dirent.c +++ b/lib/zip_dirent.c
@@ -42,7 +42,7 @@ #include "zipint.h" -static time_t _zip_d2u_time(int, int); +static time_t _zip_d2u_time(zip_uint16_t, zip_uint16_t); static struct zip_string *_zip_read_string(const unsigned char **, FILE *, zip_uint16_t, int, struct zip_error *); static struct zip_string *_zip_dirent_process_ef_utf_8(struct zip_dirent *, zip_uint16_t, struct zip_string *); static struct zip_extra_field *_zip_ef_utf8(zip_uint16_t, struct zip_string *, struct zip_error *); @@ -328,7 +328,7 @@ { unsigned char buf[CDENTRYSIZE]; const unsigned char *cur; - unsigned short dostime, dosdate; + zip_uint16_t dostime, dosdate; zip_uint32_t size; zip_uint16_t filename_len, comment_len, ef_len; @@ -761,7 +761,7 @@ static time_t -_zip_d2u_time(int dtime, int ddate) +_zip_d2u_time(zip_uint16_t dtime, zip_uint16_t ddate) { struct tm tm;
diff --git a/lib/zip_error.c b/lib/zip_error.c index d82875a..8b4d18e 100644 --- a/lib/zip_error.c +++ b/lib/zip_error.c
@@ -52,7 +52,7 @@ void -_zip_error_copy(struct zip_error *dst, struct zip_error *src) +_zip_error_copy(struct zip_error *dst, const struct zip_error *src) { dst->zip_err = src->zip_err; dst->sys_err = src->sys_err; @@ -70,7 +70,7 @@ void -_zip_error_get(struct zip_error *err, int *zep, int *sep) +_zip_error_get(const struct zip_error *err, int *zep, int *sep) { if (zep) *zep = err->zip_err;
diff --git a/lib/zip_extra_field.c b/lib/zip_extra_field.c index 360193b..315d886 100644 --- a/lib/zip_extra_field.c +++ b/lib/zip_extra_field.c
@@ -42,7 +42,7 @@ struct zip_extra_field * -_zip_ef_clone(struct zip_extra_field *ef, struct zip_error *error) +_zip_ef_clone(const struct zip_extra_field *ef, struct zip_error *error) { struct zip_extra_field *head, *prev, *def; @@ -123,9 +123,9 @@ const zip_uint8_t * -_zip_ef_get_by_id(struct zip_extra_field *ef, zip_uint16_t *lenp, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags, struct zip_error *error) +_zip_ef_get_by_id(const struct zip_extra_field *ef, zip_uint16_t *lenp, zip_uint16_t id, zip_uint16_t id_idx, zip_flags_t flags, struct zip_error *error) { - static const zip_uint8_t empty[1]; + static const zip_uint8_t empty[1] = { '\0' }; int i; @@ -263,7 +263,7 @@ struct zip_extra_field *ef_head; struct zip_extra_field *prev, *next; - ef_head = prev = ef; + ef_head = ef; prev = NULL; while (ef) { @@ -288,7 +288,7 @@ zip_uint16_t -_zip_ef_size(struct zip_extra_field *ef, zip_flags_t flags) +_zip_ef_size(const struct zip_extra_field *ef, zip_flags_t flags) { zip_uint16_t size; @@ -304,7 +304,7 @@ void -_zip_ef_write(struct zip_extra_field *ef, zip_flags_t flags, FILE *f) +_zip_ef_write(const struct zip_extra_field *ef, zip_flags_t flags, FILE *f) { for (; ef; ef=ef->next) { if (ef->flags & flags & ZIP_EF_BOTH) {
diff --git a/lib/zip_extra_field_api.c b/lib/zip_extra_field_api.c index eaa1f2f..7e336aa 100644 --- a/lib/zip_extra_field_api.c +++ b/lib/zip_extra_field_api.c
@@ -98,7 +98,7 @@ ZIP_EXTERN const zip_uint8_t * zip_file_extra_field_get(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_idx, zip_uint16_t *idp, zip_uint16_t *lenp, zip_flags_t flags) { - static const zip_uint8_t empty[1]; + static const zip_uint8_t empty[1] = { '\0' }; struct zip_dirent *de; struct zip_extra_field *ef;
diff --git a/lib/zip_filerange_crc.c b/lib/zip_filerange_crc.c index e99e807..cfce7f0 100644 --- a/lib/zip_filerange_crc.c +++ b/lib/zip_filerange_crc.c
@@ -57,7 +57,7 @@ while (len > 0) { n = len > BUFSIZE ? BUFSIZE : (size_t)len; - if ((n=fread(buf, 1, n, fp)) <= 0) { + if ((n=fread(buf, 1, n, fp)) == 0) { _zip_error_set(errp, ZIP_ER_READ, errno); return -1; }
diff --git a/lib/zip_fopen_index.c b/lib/zip_fopen_index.c index a4b1f0d..1f60114 100644 --- a/lib/zip_fopen_index.c +++ b/lib/zip_fopen_index.c
@@ -42,7 +42,7 @@ ZIP_EXTERN struct zip_file * -zip_fopen_index(struct zip *za, zip_uint64_t fileno, zip_flags_t flags) +zip_fopen_index(struct zip *za, zip_uint64_t index, zip_flags_t flags) { - return zip_fopen_index_encrypted(za, fileno, flags, za->default_password); + return zip_fopen_index_encrypted(za, index, flags, za->default_password); }
diff --git a/lib/zip_fopen_index_encrypted.c b/lib/zip_fopen_index_encrypted.c index 7479971..8af479c 100644 --- a/lib/zip_fopen_index_encrypted.c +++ b/lib/zip_fopen_index_encrypted.c
@@ -44,13 +44,13 @@ ZIP_EXTERN struct zip_file * -zip_fopen_index_encrypted(struct zip *za, zip_uint64_t fileno, zip_flags_t flags, +zip_fopen_index_encrypted(struct zip *za, zip_uint64_t index, zip_flags_t flags, const char *password) { struct zip_file *zf; struct zip_source *src; - if ((src=_zip_source_zip_new(za, za, fileno, flags, 0, 0, password)) == NULL) + if ((src=_zip_source_zip_new(za, za, index, flags, 0, 0, password)) == NULL) return NULL; if (zip_source_open(src) < 0) {
diff --git a/lib/zip_set_archive_comment.c b/lib/zip_set_archive_comment.c index 4382bc4..8c04246 100644 --- a/lib/zip_set_archive_comment.c +++ b/lib/zip_set_archive_comment.c
@@ -49,7 +49,7 @@ return -1; } - if (len > MAXCOMLEN || (len > 0 && comment == NULL)) { + if (len > 0 && comment == NULL) { _zip_error_set(&za->error, ZIP_ER_INVAL, 0); return -1; }
diff --git a/lib/zip_source_open.c b/lib/zip_source_open.c index 73c6c94..88e7fa7 100644 --- a/lib/zip_source_open.c +++ b/lib/zip_source_open.c
@@ -60,7 +60,7 @@ ret = src->cb.l(src->src, src->ud, NULL, 0, ZIP_SOURCE_OPEN); if (ret < 0) { - (void)zip_source_close(src->src); + zip_source_close(src->src); if (ret == ZIP_SOURCE_ERR_LOWER) src->error_source = ZIP_LES_LOWER;
diff --git a/lib/zip_source_window.c b/lib/zip_source_window.c index c5352fe..1e514ab 100644 --- a/lib/zip_source_window.c +++ b/lib/zip_source_window.c
@@ -103,7 +103,7 @@ if (len > ctx->left) len = ctx->left; - if (len <= 0) + if (len == 0) return 0; if ((ret=zip_source_read(src, data, len)) < 0)
diff --git a/lib/zipint.h b/lib/zipint.h index 71aef6b..aa9dee7 100644 --- a/lib/zipint.h +++ b/lib/zipint.h
@@ -406,24 +406,24 @@ void _zip_dirent_torrent_normalize(struct zip_dirent *); int _zip_dirent_write(struct zip_dirent *, FILE *, zip_flags_t, struct zip_error *); -struct zip_extra_field *_zip_ef_clone(struct zip_extra_field *, struct zip_error *); +struct zip_extra_field *_zip_ef_clone(const struct zip_extra_field *, struct zip_error *); struct zip_extra_field *_zip_ef_delete_by_id(struct zip_extra_field *, zip_uint16_t, zip_uint16_t, zip_flags_t); void _zip_ef_free(struct zip_extra_field *); -const zip_uint8_t *_zip_ef_get_by_id(struct zip_extra_field *, zip_uint16_t *, zip_uint16_t, zip_uint16_t, zip_flags_t, struct zip_error *); +const zip_uint8_t *_zip_ef_get_by_id(const struct zip_extra_field *, zip_uint16_t *, zip_uint16_t, zip_uint16_t, zip_flags_t, struct zip_error *); struct zip_extra_field *_zip_ef_merge(struct zip_extra_field *, struct zip_extra_field *); struct zip_extra_field *_zip_ef_new(zip_uint16_t, zip_uint16_t, const zip_uint8_t *, zip_flags_t); struct zip_extra_field *_zip_ef_parse(const zip_uint8_t *, zip_uint16_t, zip_flags_t, struct zip_error *); struct zip_extra_field *_zip_ef_remove_internal(struct zip_extra_field *); -zip_uint16_t _zip_ef_size(struct zip_extra_field *, zip_flags_t); -void _zip_ef_write(struct zip_extra_field *, zip_flags_t, FILE *); +zip_uint16_t _zip_ef_size(const struct zip_extra_field *, zip_flags_t); +void _zip_ef_write(const struct zip_extra_field *, zip_flags_t, FILE *); void _zip_entry_finalize(struct zip_entry *); void _zip_entry_init(struct zip_entry *); void _zip_error_clear(struct zip_error *); -void _zip_error_copy(struct zip_error *, struct zip_error *); +void _zip_error_copy(struct zip_error *, const struct zip_error *); void _zip_error_fini(struct zip_error *); -void _zip_error_get(struct zip_error *, int *, int *); +void _zip_error_get(const struct zip_error *, int *, int *); void _zip_error_init(struct zip_error *); void _zip_error_set(struct zip_error *, int, int); void _zip_error_set_from_source(struct zip_error *, struct zip_source *);