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);
 }