Enable deprecated prototypes when compiling deprecated functions. Some integer conversion fixes.
diff --git a/lib/zip_add.c b/lib/zip_add.c index b298af1..5b90782 100644 --- a/lib/zip_add.c +++ b/lib/zip_add.c
@@ -33,7 +33,9 @@ +#define _ZIP_COMPILING_DEPRECATED #include "zipint.h" + /*
diff --git a/lib/zip_add_dir.c b/lib/zip_add_dir.c index 84834b5..060ef03 100644 --- a/lib/zip_add_dir.c +++ b/lib/zip_add_dir.c
@@ -36,6 +36,7 @@ #include <stdlib.h> #include <string.h> +#define _ZIP_COMPILING_DEPRECATED #include "zipint.h"
diff --git a/lib/zip_dir_add.c b/lib/zip_dir_add.c index 57389c5..a55b10c 100644 --- a/lib/zip_dir_add.c +++ b/lib/zip_dir_add.c
@@ -78,7 +78,7 @@ return -1; } - ret = _zip_file_replace(za, -1, s ? s : name, source, flags); + ret = _zip_file_replace(za, ZIP_UINT64_MAX, s ? s : name, source, flags); free(s); if (ret < 0)
diff --git a/lib/zip_file_replace.c b/lib/zip_file_replace.c index b23a646..a73a261 100644 --- a/lib/zip_file_replace.c +++ b/lib/zip_file_replace.c
@@ -77,7 +77,7 @@ if ((i=_zip_add_entry(za)) < 0) return -1; } - idx = i; + idx = (zip_uint64_t)i; } if (name && _zip_set_name(za, idx, name, flags) != 0) { @@ -102,5 +102,5 @@ za->entry[idx].source = source; - return idx; + return (zip_int64_t)idx; }
diff --git a/lib/zip_get_file_comment.c b/lib/zip_get_file_comment.c index 8fb8460..3be459d 100644 --- a/lib/zip_get_file_comment.c +++ b/lib/zip_get_file_comment.c
@@ -33,6 +33,7 @@ +#define _ZIP_COMPILING_DEPRECATED #include "zipint.h" @@ -43,9 +44,9 @@ zip_uint32_t len; const char *s; - if ((s=zip_file_get_comment(za, idx, &len, flags)) != NULL) { + if ((s=zip_file_get_comment(za, idx, &len, (zip_flags_t)flags)) != NULL) { if (lenp) - *lenp = len; + *lenp = (int)len; } return s;
diff --git a/lib/zip_rename.c b/lib/zip_rename.c index 41f63b9..8841cae 100644 --- a/lib/zip_rename.c +++ b/lib/zip_rename.c
@@ -35,6 +35,7 @@ #include <string.h> +#define _ZIP_COMPILING_DEPRECATED #include "zipint.h"
diff --git a/lib/zip_replace.c b/lib/zip_replace.c index d74952b..de717af 100644 --- a/lib/zip_replace.c +++ b/lib/zip_replace.c
@@ -33,6 +33,7 @@ +#define _ZIP_COMPILING_DEPRECATED #include "zipint.h"
diff --git a/lib/zip_set_file_comment.c b/lib/zip_set_file_comment.c index 654c64f..9643ab0 100644 --- a/lib/zip_set_file_comment.c +++ b/lib/zip_set_file_comment.c
@@ -36,6 +36,7 @@ #include <stdlib.h> #include <string.h> +#define _ZIP_COMPILING_DEPRECATED #include "zipint.h" @@ -43,5 +44,9 @@ ZIP_EXTERN int zip_set_file_comment(struct zip *za, zip_uint64_t idx, const char *comment, int len) { - return zip_file_set_comment(za, idx, comment, len, 0); + if (len < 0 || len > ZIP_UINT16_MAX) { + _zip_error_set(&za->error, ZIP_ER_INVAL, 0); + return -1; + } + return zip_file_set_comment(za, idx, comment, (zip_uint16_t)len, 0); }
diff --git a/lib/zip_utf-8.c b/lib/zip_utf-8.c index 4b8e4b1..c0ad7fe 100644 --- a/lib/zip_utf-8.c +++ b/lib/zip_utf-8.c
@@ -122,8 +122,7 @@ { enum zip_encoding_type enc; const zip_uint8_t *name; - zip_uint32_t i; - int j, ulen; + zip_uint32_t i, j, ulen; if (str == NULL) return ZIP_ENCODING_ASCII;
diff --git a/lib/zipint.h b/lib/zipint.h index d7737af..6468130 100644 --- a/lib/zipint.h +++ b/lib/zipint.h
@@ -42,7 +42,9 @@ #include <io.h> #endif +#ifndef _ZIP_COMPILING_DEPRECATED #define ZIP_DISABLE_DEPRECATED +#endif #include "zip.h" #include "config.h"