diff --git a/archive-zip.c b/archive-zip.c
index d56e5cfc1e4047a2e86a2aeacaafc8fb2931179e..cf285044e3576d0127c3215cb1253443d67517dc 100644 (file)
--- a/archive-zip.c
+++ b/archive-zip.c
* Copyright (c) 2006 Rene Scharfe
*/
#include "cache.h"
* Copyright (c) 2006 Rene Scharfe
*/
#include "cache.h"
-#include "commit.h"
-#include "blob.h"
-#include "tree.h"
-#include "quote.h"
-#include "builtin.h"
#include "archive.h"
static int zip_date;
#include "archive.h"
static int zip_date;
}
static void *zlib_deflate(void *data, unsigned long size,
}
static void *zlib_deflate(void *data, unsigned long size,
- unsigned long *compressed_size)
+ int compression_level, unsigned long *compressed_size)
{
z_stream stream;
unsigned long maxsize;
{
z_stream stream;
unsigned long maxsize;
int result;
memset(&stream, 0, sizeof(stream));
int result;
memset(&stream, 0, sizeof(stream));
- deflateInit(&stream, zlib_compression_level);
+ deflateInit(&stream, compression_level);
maxsize = deflateBound(&stream, size);
buffer = xmalloc(maxsize);
maxsize = deflateBound(&stream, size);
buffer = xmalloc(maxsize);
method = 0;
attr2 = S_ISLNK(mode) ? ((mode | 0777) << 16) :
(mode & 0111) ? ((mode) << 16) : 0;
method = 0;
attr2 = S_ISLNK(mode) ? ((mode | 0777) << 16) :
(mode & 0111) ? ((mode) << 16) : 0;
- if (S_ISREG(mode) && zlib_compression_level != 0)
+ if (S_ISREG(mode) && args->compression_level != 0)
method = 8;
crc = crc32(crc, buffer, size);
out = buffer;
method = 8;
crc = crc32(crc, buffer, size);
out = buffer;
}
if (method == 8) {
}
if (method == 8) {
- deflated = zlib_deflate(buffer, size, &compressed_size);
+ deflated = zlib_deflate(buffer, size, args->compression_level,
+ &compressed_size);
if (deflated && compressed_size - 6 < size) {
/* ZLIB --> raw compressed data (see RFC 1950) */
/* CMF and FLG ... */
if (deflated && compressed_size - 6 < size) {
/* ZLIB --> raw compressed data (see RFC 1950) */
/* CMF and FLG ... */