René Scharfe <l.s.r@xxxxxx> writes: > Clear the git_zstream variable at the start of git_deflate_init() etc. > so that callers don't have to do that. > > Signed-off-by: Rene Scharfe <l.s.r@xxxxxx> Nice. "git grep -B1 git_deflate_init" tells me that all existing callers of the function do this memset(). Clearly the above is a very good idea and is a safe and sane thing to do. Thanks. > --- > archive-zip.c | 2 -- > builtin/index-pack.c | 1 - > builtin/pack-objects.c | 2 -- > bulk-checkin.c | 1 - > diff.c | 1 - > fast-import.c | 3 --- > http-push.c | 1 - > remote-curl.c | 1 - > sha1_file.c | 1 - > zlib.c | 2 ++ > 10 files changed, 2 insertions(+), 13 deletions(-) > > diff --git a/archive-zip.c b/archive-zip.c > index 4bde019..1a54e1b 100644 > --- a/archive-zip.c > +++ b/archive-zip.c > @@ -120,7 +120,6 @@ static void *zlib_deflate_raw(void *data, unsigned long size, > void *buffer; > int result; > > - memset(&stream, 0, sizeof(stream)); > git_deflate_init_raw(&stream, compression_level); > maxsize = git_deflate_bound(&stream, size); > buffer = xmalloc(maxsize); > @@ -349,7 +348,6 @@ static int write_zip_entry(struct archiver_args *args, > size_t out_len; > unsigned char compressed[STREAM_BUFFER_SIZE * 2]; > > - memset(&zstream, 0, sizeof(zstream)); > git_deflate_init_raw(&zstream, args->compression_level); > > compressed_size = 0; > diff --git a/builtin/index-pack.c b/builtin/index-pack.c > index 4632117..cf654df 100644 > --- a/builtin/index-pack.c > +++ b/builtin/index-pack.c > @@ -1204,7 +1204,6 @@ static int write_compressed(struct sha1file *f, void *in, unsigned int size) > int status; > unsigned char outbuf[4096]; > > - memset(&stream, 0, sizeof(stream)); > git_deflate_init(&stream, zlib_compression_level); > stream.next_in = in; > stream.avail_in = size; > diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c > index d816587..c3a7516 100644 > --- a/builtin/pack-objects.c > +++ b/builtin/pack-objects.c > @@ -125,7 +125,6 @@ static unsigned long do_compress(void **pptr, unsigned long size) > void *in, *out; > unsigned long maxsize; > > - memset(&stream, 0, sizeof(stream)); > git_deflate_init(&stream, pack_compression_level); > maxsize = git_deflate_bound(&stream, size); > > @@ -153,7 +152,6 @@ static unsigned long write_large_blob_data(struct git_istream *st, struct sha1fi > unsigned char obuf[1024 * 16]; > unsigned long olen = 0; > > - memset(&stream, 0, sizeof(stream)); > git_deflate_init(&stream, pack_compression_level); > > for (;;) { > diff --git a/bulk-checkin.c b/bulk-checkin.c > index 0c4b8a7..8d157eb 100644 > --- a/bulk-checkin.c > +++ b/bulk-checkin.c > @@ -105,7 +105,6 @@ static int stream_to_pack(struct bulk_checkin_state *state, > int write_object = (flags & HASH_WRITE_OBJECT); > off_t offset = 0; > > - memset(&s, 0, sizeof(s)); > git_deflate_init(&s, pack_compression_level); > > hdrlen = encode_in_pack_object_header(type, size, obuf); > diff --git a/diff.c b/diff.c > index d1bd534..dad875c 100644 > --- a/diff.c > +++ b/diff.c > @@ -2093,7 +2093,6 @@ static unsigned char *deflate_it(char *data, > unsigned char *deflated; > git_zstream stream; > > - memset(&stream, 0, sizeof(stream)); > git_deflate_init(&stream, zlib_compression_level); > bound = git_deflate_bound(&stream, size); > deflated = xmalloc(bound); > diff --git a/fast-import.c b/fast-import.c > index aac2c24..77fb2ff 100644 > --- a/fast-import.c > +++ b/fast-import.c > @@ -1062,7 +1062,6 @@ static int store_object( > } else > delta = NULL; > > - memset(&s, 0, sizeof(s)); > git_deflate_init(&s, pack_compression_level); > if (delta) { > s.next_in = delta; > @@ -1090,7 +1089,6 @@ static int store_object( > free(delta); > delta = NULL; > > - memset(&s, 0, sizeof(s)); > git_deflate_init(&s, pack_compression_level); > s.next_in = (void *)dat->buf; > s.avail_in = dat->len; > @@ -1190,7 +1188,6 @@ static void stream_blob(uintmax_t len, unsigned char *sha1out, uintmax_t mark) > > crc32_begin(pack_file); > > - memset(&s, 0, sizeof(s)); > git_deflate_init(&s, pack_compression_level); > > hdrlen = encode_in_pack_object_header(OBJ_BLOB, len, out_buf); > diff --git a/http-push.c b/http-push.c > index 0beb7ab..bfb1c96 100644 > --- a/http-push.c > +++ b/http-push.c > @@ -365,7 +365,6 @@ static void start_put(struct transfer_request *request) > hdrlen = sprintf(hdr, "%s %lu", typename(type), len) + 1; > > /* Set it up */ > - memset(&stream, 0, sizeof(stream)); > git_deflate_init(&stream, zlib_compression_level); > size = git_deflate_bound(&stream, len + hdrlen); > strbuf_init(&request->buffer.buf, size); > diff --git a/remote-curl.c b/remote-curl.c > index deb4bfe..af7b678 100644 > --- a/remote-curl.c > +++ b/remote-curl.c > @@ -567,7 +567,6 @@ retry: > git_zstream stream; > int ret; > > - memset(&stream, 0, sizeof(stream)); > git_deflate_init_gzip(&stream, Z_BEST_COMPRESSION); > gzip_size = git_deflate_bound(&stream, rpc->len); > gzip_body = xmalloc(gzip_size); > diff --git a/sha1_file.c b/sha1_file.c > index 69a60ec..88f06ba 100644 > --- a/sha1_file.c > +++ b/sha1_file.c > @@ -2943,7 +2943,6 @@ static int write_loose_object(const unsigned char *sha1, char *hdr, int hdrlen, > } > > /* Set it up */ > - memset(&stream, 0, sizeof(stream)); > git_deflate_init(&stream, zlib_compression_level); > stream.next_out = compressed; > stream.avail_out = sizeof(compressed); > diff --git a/zlib.c b/zlib.c > index 61e6df0..4223f1a 100644 > --- a/zlib.c > +++ b/zlib.c > @@ -159,6 +159,7 @@ void git_deflate_init(git_zstream *strm, int level) > { > int status; > > + memset(strm, 0, sizeof(*strm)); > zlib_pre_call(strm); > status = deflateInit(&strm->z, level); > zlib_post_call(strm); > @@ -172,6 +173,7 @@ static void do_git_deflate_init(git_zstream *strm, int level, int windowBits) > { > int status; > > + memset(strm, 0, sizeof(*strm)); > zlib_pre_call(strm); > status = deflateInit2(&strm->z, level, > Z_DEFLATED, windowBits, -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html