git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 6/6] Use new compress helpers in builtin-pack-objects.c

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 11, 2008, 07:26 UTC
Message-ID
<7vir204ycu.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<e5bfff550801102210g181a091s28725e24922b9b12@mail.gmail.com>
"Marco Costalba" <mcostalba@gmail.com> writes:
Show 11 quoted lines
> On Jan 10, 2008 10:34 PM, Marco Costalba <mcostalba@gmail.com> wrote:
>>
>> -               while (deflate(&stream, Z_FINISH) == Z_OK)
>> -                       /* nothing */;
>> -               deflateEnd(&stream);
>> -               datalen = stream.total_out;
>> -               deflateEnd(&stream);
>
>
> One thing I would like someone to clarify is why deflateEnd(&stream)
> is called two times ?
I'd call it an insufficient reviewing while accepting
    http://thread.gmane.org/gmane.comp.version-control.git/45996

In fact, the second deflateEnd() has always been returning Z_STREAM_ERROR. We just never checked the error return from that particular deflateEnd().

The first one returns 0 for success. We might want to tighten the check even more to check that.

-- >8 -- pack-objects: remove redundant call to deflateEnd()

We somehow called deflateEnd() on a stream that we have called deflateEnd() on already.

Noticed by Marco.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin-pack-objects.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index a39cb82..ec10238 100644
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
@@ -445,7 +445,7 @@ static unsigned long write_object(struct sha1file *f,
 			/* nothing */;
 		deflateEnd(&stream);
 		datalen = stream.total_out;
-		deflateEnd(&stream);
+
 		/*
 		 * The object header is a byte of 'type' followed by zero or
 		 * more bytes of length.
Previous: Marco Costalba
Message 4 of 4 in “Use new compress helpers in builtin-pack-objects.c”
  1. 6/6 Use new compress helpers in builtin-pack-objects.cMarco Costalba, Jan 10, 2008
  2. Nicolas PitreJan 10, 2008
  3. Marco CostalbaJan 11, 2008
  4. Junio C HamanoJan 11, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.