From: Junio C Hamano Date: Tue, 19 Jul 2011 16:45:32 +0000 (-0700) Subject: Merge branch 'jk/archive-tar-filter' X-Git-Tag: v1.7.7-rc0~88 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/765c7e4f3100484ea277f043048631ea93b3127a?ds=inline;hp=-c Merge branch 'jk/archive-tar-filter' * jk/archive-tar-filter: upload-archive: allow user to turn off filters archive: provide builtin .tar.gz filter archive: implement configurable tar filters archive: refactor file extension format-guessing archive: move file extension format-guessing lower archive: pass archiver struct to write_archive callback archive: refactor list of archive formats archive-tar: don't reload default config options archive: reorder option parsing and config reading --- 765c7e4f3100484ea277f043048631ea93b3127a diff --combined archive-zip.c index 72d55a58ac,3c102a1648..02d1f3787a --- a/archive-zip.c +++ b/archive-zip.c @@@ -90,14 -90,14 +90,14 @@@ static void copy_le32(unsigned char *de static void *zlib_deflate(void *data, unsigned long size, int compression_level, unsigned long *compressed_size) { - z_stream stream; + git_zstream stream; unsigned long maxsize; void *buffer; int result; memset(&stream, 0, sizeof(stream)); - deflateInit(&stream, compression_level); - maxsize = deflateBound(&stream, size); + git_deflate_init(&stream, compression_level); + maxsize = git_deflate_bound(&stream, size); buffer = xmalloc(maxsize); stream.next_in = data; @@@ -106,7 -106,7 +106,7 @@@ stream.avail_out = maxsize; do { - result = deflate(&stream, Z_FINISH); + result = git_deflate(&stream, Z_FINISH); } while (result == Z_OK); if (result != Z_STREAM_END) { @@@ -114,7 -114,7 +114,7 @@@ return NULL; } - deflateEnd(&stream); + git_deflate_end(&stream); *compressed_size = stream.total_out; return buffer; @@@ -261,7 -261,8 +261,8 @@@ static void dos_time(time_t *time, int *dos_time = t->tm_sec / 2 + t->tm_min * 32 + t->tm_hour * 2048; } - int write_zip_archive(struct archiver_args *args) + static int write_zip_archive(const struct archiver *ar, + struct archiver_args *args) { int err; @@@ -278,3 -279,14 +279,14 @@@ return err; } + + static struct archiver zip_archiver = { + "zip", + write_zip_archive, + ARCHIVER_WANT_COMPRESSION_LEVELS|ARCHIVER_REMOTE + }; + + void init_zip_archiver(void) + { + register_archiver(&zip_archiver); + }