zlib 1.2.0.1

This commit is contained in:
Mark Adler
2011-09-09 23:21:57 -07:00
parent 7c2a874e50
commit 13a294f044
71 changed files with 10250 additions and 3923 deletions

View File

@@ -1,6 +1,7 @@
/* minigzip.c -- simulate gzip using the zlib compression library
* Copyright (C) 1995-2002 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
* Adapted for Z_RLE by Cosmin Truta, 2003.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/*
@@ -147,7 +148,7 @@ int gz_compress_mmap(in, out)
if (buf_len <= 0) return Z_ERRNO;
/* Now do the actual mmap: */
buf = mmap((caddr_t) 0, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0);
buf = mmap((caddr_t) 0, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0);
if (buf == (caddr_t)(-1)) return Z_ERRNO;
/* Compress the whole file at once: */
@@ -179,8 +180,8 @@ void gz_uncompress(in, out)
if (len == 0) break;
if ((int)fwrite(buf, 1, (unsigned)len, out) != len) {
error("failed fwrite");
}
error("failed fwrite");
}
}
if (fclose(out)) error("failed fclose");
@@ -260,10 +261,11 @@ void file_uncompress(file)
/* ===========================================================================
* Usage: minigzip [-d] [-f] [-h] [-1 to -9] [files...]
* Usage: minigzip [-d] [-f] [-h] [-r] [-1 to -9] [files...]
* -d : decompress
* -f : compress with Z_FILTERED
* -h : compress with Z_HUFFMAN_ONLY
* -r : compress with Z_RLE
* -1 to -9 : compression level
*/
@@ -282,16 +284,18 @@ int main(argc, argv)
while (argc > 0) {
if (strcmp(*argv, "-d") == 0)
uncompr = 1;
uncompr = 1;
else if (strcmp(*argv, "-f") == 0)
outmode[3] = 'f';
outmode[3] = 'f';
else if (strcmp(*argv, "-h") == 0)
outmode[3] = 'h';
outmode[3] = 'h';
else if (strcmp(*argv, "-r") == 0)
outmode[3] = 'R';
else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' &&
(*argv)[2] == 0)
outmode[2] = (*argv)[1];
(*argv)[2] == 0)
outmode[2] = (*argv)[1];
else
break;
break;
argc--, argv++;
}
if (argc == 0) {
@@ -315,6 +319,5 @@ int main(argc, argv)
}
} while (argv++, --argc);
}
exit(0);
return 0; /* to avoid warning */
return 0;
}