]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
[compat] Use unsigned long for size parameters of compress/compressBound/uncompress
authorMika Lindqvist <postmaster@raasu.org>
Sun, 12 Nov 2017 20:53:50 +0000 (22:53 +0200)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Fri, 16 Feb 2018 14:48:06 +0000 (15:48 +0100)
compress.c
uncompr.c
zlib.h

index b132357a90d8fca9f19298c475ca354144cfbfc1..b065918672f26d87cfc27445e45e5b753e005731 100644 (file)
@@ -8,8 +8,10 @@
 #define ZLIB_INTERNAL
 #if defined(ZLIB_COMPAT)
 # include "zlib.h"
+# define z_size_t unsigned long
 #else
 # include "zlib-ng.h"
+# define z_size_t size_t
 #endif
 
 /* ===========================================================================
    memory, Z_BUF_ERROR if there was not enough room in the output buffer,
    Z_STREAM_ERROR if the level parameter is invalid.
 */
-int ZEXPORT PREFIX(compress2)(unsigned char *dest, size_t *destLen, const unsigned char *source,
-                        size_t sourceLen, int level) {
+int ZEXPORT PREFIX(compress2)(unsigned char *dest, z_size_t *destLen, const unsigned char *source,
+                        z_size_t sourceLen, int level) {
     PREFIX3(stream) stream;
     int err;
     const unsigned int max = (unsigned int)-1;
-    size_t left;
+    z_size_t left;
 
     left = *destLen;
     *destLen = 0;
@@ -65,7 +67,7 @@ int ZEXPORT PREFIX(compress2)(unsigned char *dest, size_t *destLen, const unsign
 
 /* ===========================================================================
  */
-int ZEXPORT PREFIX(compress)(unsigned char *dest, size_t *destLen, const unsigned char *source, size_t sourceLen) {
+int ZEXPORT PREFIX(compress)(unsigned char *dest, z_size_t *destLen, const unsigned char *source, z_size_t sourceLen) {
     return PREFIX(compress2)(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
 }
 
@@ -73,6 +75,6 @@ int ZEXPORT PREFIX(compress)(unsigned char *dest, size_t *destLen, const unsigne
    If the default memLevel or windowBits for deflateInit() is changed, then
    this function needs to be updated.
  */
-size_t ZEXPORT PREFIX(compressBound)(size_t sourceLen) {
+z_size_t ZEXPORT PREFIX(compressBound)(z_size_t sourceLen) {
     return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + (sourceLen >> 25) + 13;
 }
index f9dc95a7a344074a5151052dedd23dd26b20c097..68a29cfc46a53230b5d32279a8df028e3a17eadf 100644 (file)
--- a/uncompr.c
+++ b/uncompr.c
@@ -8,8 +8,10 @@
 #define ZLIB_INTERNAL
 #ifdef ZLIB_COMPAT
 # include "zlib.h"
+# define z_size_t unsigned long
 #else
 # include "zlib-ng.h"
+# define z_size_t size_t
 #endif
 
 /* ===========================================================================
    Z_DATA_ERROR if the input data was corrupted, including if the input data is
    an incomplete zlib stream.
 */
-int ZEXPORT PREFIX(uncompress2)(unsigned char *dest, size_t *destLen, const unsigned char *source, size_t *sourceLen) {
+int ZEXPORT PREFIX(uncompress2)(unsigned char *dest, z_size_t *destLen, const unsigned char *source, z_size_t *sourceLen) {
     PREFIX3(stream) stream;
     int err;
     const unsigned int max = (unsigned int)-1;
-    size_t len, left;
+    z_size_t len, left;
     unsigned char buf[1];    /* for detection of incomplete stream when *destLen == 0 */
 
     len = *sourceLen;
@@ -82,7 +84,7 @@ int ZEXPORT PREFIX(uncompress2)(unsigned char *dest, size_t *destLen, const unsi
            err;
 }
 
-int ZEXPORT PREFIX(uncompress)(unsigned char *dest, size_t *destLen, const unsigned char *source, size_t sourceLen)
+int ZEXPORT PREFIX(uncompress)(unsigned char *dest, z_size_t *destLen, const unsigned char *source, z_size_t sourceLen)
 {
     return PREFIX(uncompress2)(dest, destLen, source, &sourceLen);
 }
diff --git a/zlib.h b/zlib.h
index 3767bd0b9e85dec53f493cabe239ee2bf588a8e7..95e873519a3bec4cb01d66c95f27acbd96c6301b 100644 (file)
--- a/zlib.h
+++ b/zlib.h
@@ -1194,7 +1194,7 @@ ZEXTERN unsigned long ZEXPORT zlibCompileFlags(void);
    you need special options.
 */
 
-ZEXTERN int ZEXPORT compress(unsigned char *dest, size_t *destLen, const unsigned char *source, size_t sourceLen);
+ZEXTERN int ZEXPORT compress(unsigned char *dest, unsigned long *destLen, const unsigned char *source, unsigned long sourceLen);
 /*
      Compresses the source buffer into the destination buffer.  sourceLen is
    the byte length of the source buffer.  Upon entry, destLen is the total size
@@ -1208,8 +1208,8 @@ ZEXTERN int ZEXPORT compress(unsigned char *dest, size_t *destLen, const unsigne
    buffer.
 */
 
-ZEXTERN int ZEXPORT compress2(unsigned char *dest, size_t *destLen, const unsigned char *source,
-                              size_t sourceLen, int level);
+ZEXTERN int ZEXPORT compress2(unsigned char *dest, unsigned long *destLen, const unsigned char *source,
+                              unsigned long sourceLen, int level);
 /*
      Compresses the source buffer into the destination buffer.  The level
    parameter has the same meaning as in deflateInit.  sourceLen is the byte
@@ -1223,14 +1223,14 @@ ZEXTERN int ZEXPORT compress2(unsigned char *dest, size_t *destLen, const unsign
    Z_STREAM_ERROR if the level parameter is invalid.
 */
 
-ZEXTERN size_t ZEXPORT compressBound(size_t sourceLen);
+ZEXTERN unsigned long ZEXPORT compressBound(unsigned long sourceLen);
 /*
      compressBound() returns an upper bound on the compressed size after
    compress() or compress2() on sourceLen bytes.  It would be used before a
    compress() or compress2() call to allocate the destination buffer.
 */
 
-ZEXTERN int ZEXPORT uncompress(unsigned char *dest, size_t *destLen, const unsigned char *source, size_t sourceLen);
+ZEXTERN int ZEXPORT uncompress(unsigned char *dest, unsigned long *destLen, const unsigned char *source, unsigned long sourceLen);
 /*
      Decompresses the source buffer into the destination buffer.  sourceLen is
    the byte length of the source buffer.  Upon entry, destLen is the total size
@@ -1248,8 +1248,8 @@ ZEXTERN int ZEXPORT uncompress(unsigned char *dest, size_t *destLen, const unsig
 */
 
 
-ZEXTERN int ZEXPORT uncompress2 (unsigned char *dest,         size_t *destLen,
-                                 const unsigned char *source, size_t *sourceLen);
+ZEXTERN int ZEXPORT uncompress2 (unsigned char *dest,         unsigned long *destLen,
+                                 const unsigned char *source, unsigned long *sourceLen);
 /*
      Same as uncompress, except that sourceLen is a pointer, where the
    length of the source is *sourceLen.  On return, *sourceLen is the number of