]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Fix signature of adler32(), adler32_combine(), adler32_combine64() and adler32_z...
authorMika Lindqvist <postmaster@raasu.org>
Fri, 17 Jul 2020 00:29:35 +0000 (03:29 +0300)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Sun, 2 Aug 2020 16:20:03 +0000 (18:20 +0200)
* See #700

adler32.c
zlib.h

index 84d4d6663674db87b46e4bed873b9880366acd06..c4a42d79a76c9a505c3e0c0d8759f9d8256a7415 100644 (file)
--- a/adler32.c
+++ b/adler32.c
@@ -80,14 +80,26 @@ uint32_t adler32_c(uint32_t adler, const unsigned char *buf, size_t len) {
     return adler | (sum2 << 16);
 }
 
+#ifdef ZLIB_COMPAT
+unsigned long ZEXPORT PREFIX(adler32_z)(unsigned long adler, const unsigned char *buf, size_t len) {
+    return (unsigned long) functable.adler32((uint32_t) adler, buf, len);
+}
+#else
 uint32_t ZEXPORT PREFIX(adler32_z)(uint32_t adler, const unsigned char *buf, size_t len) {
     return functable.adler32(adler, buf, len);
 }
+#endif
 
 /* ========================================================================= */
+#ifdef ZLIB_COMPAT
+unsigned long ZEXPORT PREFIX(adler32)(unsigned long adler, const unsigned char *buf, unsigned int len) {
+    return (unsigned long) functable.adler32((uint32_t) adler, buf, len);
+}
+#else
 uint32_t ZEXPORT PREFIX(adler32)(uint32_t adler, const unsigned char *buf, uint32_t len) {
     return functable.adler32(adler, buf, len);
 }
+#endif
 
 /* ========================================================================= */
 static uint32_t adler32_combine_(uint32_t adler1, uint32_t adler2, z_off64_t len2) {
@@ -116,11 +128,15 @@ static uint32_t adler32_combine_(uint32_t adler1, uint32_t adler2, z_off64_t len
 
 /* ========================================================================= */
 #ifdef ZLIB_COMPAT
-uint32_t ZEXPORT PREFIX(adler32_combine)(uint32_t adler1, uint32_t adler2, z_off_t len2) {
-    return adler32_combine_(adler1, adler2, len2);
+unsigned long ZEXPORT PREFIX(adler32_combine)(unsigned long adler1, unsigned long adler2, z_off_t len2) {
+    return (unsigned long) adler32_combine_((uint32_t) adler1, (uint32_t) adler2, len2);
 }
-#endif
 
+unsigned long ZEXPORT PREFIX4(adler32_combine)(unsigned long adler1, unsigned long adler2, z_off64_t len2) {
+    return (unsigned long) adler32_combine_((uint32_t) adler1, (uint32_t) adler2, len2);
+}
+#else
 uint32_t ZEXPORT PREFIX4(adler32_combine)(uint32_t adler1, uint32_t adler2, z_off64_t len2) {
     return adler32_combine_(adler1, adler2, len2);
 }
+#endif
diff --git a/zlib.h b/zlib.h
index 655e2e3351ad6da8b07d159ace30330b4269f202..9810a125451d90fba98f25a5fb978b6c02cdc9a6 100644 (file)
--- a/zlib.h
+++ b/zlib.h
@@ -1645,7 +1645,7 @@ ZEXTERN void ZEXPORT gzclearerr(gzFile file);
    library.
 */
 
-ZEXTERN uint32_t ZEXPORT adler32(uint32_t adler, const unsigned char *buf, uint32_t len);
+ZEXTERN unsigned long ZEXPORT adler32(unsigned long adler, const unsigned char *buf, unsigned int len);
 /*
      Update a running Adler-32 checksum with the bytes buf[0..len-1] and
    return the updated checksum.  If buf is NULL, this function returns the
@@ -1664,13 +1664,13 @@ ZEXTERN uint32_t ZEXPORT adler32(uint32_t adler, const unsigned char *buf, uint3
      if (adler != original_adler) error();
 */
 
-ZEXTERN uint32_t ZEXPORT adler32_z (uint32_t adler, const unsigned char *buf, size_t len);
+ZEXTERN unsigned long ZEXPORT adler32_z (unsigned long adler, const unsigned char *buf, size_t len);
 /*
      Same as adler32(), but with a size_t length.
 */
 
 /*
-ZEXTERN uint32_t ZEXPORT adler32_combine(uint32_t adler1, uint32_t adler2, z_off_t len2);
+ZEXTERN unsigned long ZEXPORT adler32_combine(unsigned long adler1, unsigned long adler2, z_off_t len2);
 
      Combine two Adler-32 checksums into one.  For two sequences of bytes, seq1
    and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
@@ -1777,7 +1777,7 @@ ZEXTERN int ZEXPORT gzgetc_(gzFile file);  /* backward compatibility */
    ZEXTERN z_off64_t ZEXPORT gzseek64(gzFile, z_off64_t, int);
    ZEXTERN z_off64_t ZEXPORT gztell64(gzFile);
    ZEXTERN z_off64_t ZEXPORT gzoffset64(gzFile);
-   ZEXTERN uint32_t ZEXPORT adler32_combine64(uint32_t, uint32_t, z_off64_t);
+   ZEXTERN unsigned long ZEXPORT adler32_combine64(unsigned long, unsigned long, z_off64_t);
    ZEXTERN uint32_t ZEXPORT crc32_combine64(uint32_t, uint32_t, z_off64_t);
    ZEXTERN void ZEXPORT crc32_combine_gen64(uint32_t *op, z_off64_t);
 #endif
@@ -1795,7 +1795,7 @@ ZEXTERN int ZEXPORT gzgetc_(gzFile file);  /* backward compatibility */
      ZEXTERN z_off_t ZEXPORT gzseek64(gzFile, z_off_t, int);
      ZEXTERN z_off_t ZEXPORT gztell64(gzFile);
      ZEXTERN z_off_t ZEXPORT gzoffset64(gzFile);
-     ZEXTERN uint32_t ZEXPORT adler32_combine64(uint32_t, uint32_t, z_off_t);
+     ZEXTERN unsigned long ZEXPORT adler32_combine64(unsigned long, unsigned long, z_off_t);
      ZEXTERN uint32_t ZEXPORT crc32_combine64(uint32_t, uint32_t, z_off_t);
      ZEXTERN void ZEXPORT crc32_combine_gen64(uint32_t *op, z_off64_t);
 #  endif
@@ -1804,7 +1804,7 @@ ZEXTERN int ZEXPORT gzgetc_(gzFile file);  /* backward compatibility */
    ZEXTERN z_off_t ZEXPORT gzseek(gzFile, z_off_t, int);
    ZEXTERN z_off_t ZEXPORT gztell(gzFile);
    ZEXTERN z_off_t ZEXPORT gzoffset(gzFile);
-   ZEXTERN uint32_t ZEXPORT adler32_combine(uint32_t, uint32_t, z_off_t);
+   ZEXTERN unsigned long ZEXPORT adler32_combine(unsigned long, unsigned long, z_off_t);
    ZEXTERN uint32_t ZEXPORT crc32_combine(uint32_t, uint32_t, z_off_t);
    ZEXTERN void ZEXPORT crc32_combine_gen(uint32_t *op, z_off_t);
 #endif