Add some casts so picky c++ compilers are happy. Based on a patch by Wolfgang Glunz.
diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c index db6141c..8ccd1d4 100644 --- a/lib/zip_dirent.c +++ b/lib/zip_dirent.c
@@ -212,7 +212,7 @@ { struct zip_dirent *tde; - if ((tde=malloc(sizeof(*tde))) == NULL) + if ((tde=(struct zip_dirent *)malloc(sizeof(*tde))) == NULL) return NULL; if (sde) @@ -294,7 +294,7 @@ { struct zip_dirent *de; - if ((de=malloc(sizeof(*de))) == NULL) + if ((de=(struct zip_dirent *)malloc(sizeof(*de))) == NULL) return NULL; _zip_dirent_init(de); @@ -797,7 +797,7 @@ /* XXX: error */ } - if ((data=malloc(len+5)) == NULL) { + if ((data=(zip_uint8_t *)malloc(len+5)) == NULL) { _zip_error_set(error, ZIP_ER_MEMORY, 0); return NULL; }
diff --git a/lib/zip_extra_field.c b/lib/zip_extra_field.c index 287e466..92733ad 100644 --- a/lib/zip_extra_field.c +++ b/lib/zip_extra_field.c
@@ -193,7 +193,7 @@ { struct zip_extra_field *ef; - if ((ef=malloc(sizeof(*ef))) == NULL) + if ((ef=(struct zip_extra_field *)malloc(sizeof(*ef))) == NULL) return NULL; ef->next = NULL; @@ -201,7 +201,7 @@ ef->id = id; ef->size = size; if (size > 0) { - if ((ef->data=_zip_memdup(data, size, NULL)) == NULL) { + if ((ef->data=(zip_uint8_t *)_zip_memdup(data, size, NULL)) == NULL) { free(ef); return NULL; }
diff --git a/lib/zip_source_pkware.c b/lib/zip_source_pkware.c index f24e1d1..ec53dfe 100644 --- a/lib/zip_source_pkware.c +++ b/lib/zip_source_pkware.c
@@ -189,7 +189,7 @@ if ((n=zip_source_read(src, data, len)) < 0) return ZIP_SOURCE_ERR_LOWER; - decrypt(ud, (zip_uint8_t *)data, (zip_uint8_t *)data, (zip_uint64_t)n, + decrypt((struct trad_pkware *)ud, (zip_uint8_t *)data, (zip_uint8_t *)data, (zip_uint64_t)n, 0); return n;
diff --git a/lib/zip_string.c b/lib/zip_string.c index 242eecd..a2d5eb5 100644 --- a/lib/zip_string.c +++ b/lib/zip_string.c
@@ -156,12 +156,12 @@ return NULL; } - if ((s=malloc(sizeof(*s))) == NULL) { + if ((s=(struct zip_string *)malloc(sizeof(*s))) == NULL) { _zip_error_set(error, ZIP_ER_MEMORY, 0); return NULL; } - if ((s->raw=malloc(length+1)) == NULL) { + if ((s->raw=(zip_uint8_t *)malloc(length+1)) == NULL) { free(s); return NULL; }