Enable deprecated prototypes when compiling deprecated functions.
Some integer conversion fixes.
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);
}