Type cleanup, internally and in the API. Fixes most llvm warnings.
diff --git a/lib/zip_source_window.c b/lib/zip_source_window.c
index 0f8f1a9..0ed1cea 100644
--- a/lib/zip_source_window.c
+++ b/lib/zip_source_window.c
@@ -79,18 +79,19 @@
zip_uint64_t len, enum zip_source_cmd cmd)
{
struct window *ctx;
- zip_int64_t i, n;
+ zip_int64_t ret;
+ zip_uint64_t n, i;
char b[8192];
ctx = (struct window *)_ctx;
switch (cmd) {
case ZIP_SOURCE_OPEN:
- for (n=0; n<ctx->skip; n+=i) {
+ for (n=0; n<ctx->skip; n+=(zip_uint64_t)ret) {
i = (ctx->skip-n > sizeof(b) ? sizeof(b) : ctx->skip-n);
- if ((i=zip_source_read(src, b, i)) < 0)
+ if ((ret=zip_source_read(src, b, i)) < 0)
return ZIP_SOURCE_ERR_LOWER;
- if (i==0) {
+ if (ret==0) {
ctx->e[0] = ZIP_ER_EOF;
ctx->e[1] = 0;
return -1;
@@ -105,19 +106,19 @@
if (len <= 0)
return 0;
- if ((n=zip_source_read(src, data, len)) < 0)
+ if ((ret=zip_source_read(src, data, len)) < 0)
return ZIP_SOURCE_ERR_LOWER;
- ctx->left -= n;
+ ctx->left -= (zip_uint64_t)ret;
- if (n == 0) {
+ if (ret == 0) {
if (ctx->left > 0) {
ctx->e[0] = ZIP_ER_EOF;
ctx->e[1] = 0;
return -1;
}
}
- return n;
+ return ret;
case ZIP_SOURCE_CLOSE:
return 0;