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

Re: [PATCH 01/11] Introduce stream compress helpers

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 3, 2008, 22:53 UTC
Message-ID
<7v8x21slck.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1201952156-6764-1-git-send-email-mcostalba@gmail.com>
Marco Costalba <mcostalba@gmail.com> writes:
Show 9 quoted lines
> When decompressing a zlib stream use this
> helpers instead of calling low level zlib
> function.
>
> This patch introduces the necessary framework,
> still no code change.
>
> This is the first step in generalizing compress and
> decompress functions avoiding zlib directly calls.
(Cosmetic)

Your log message lines are wrapped a bit too short, while some of the patch lines are too long.

Show 15 quoted lines
> diff --git a/compress.c b/compress.c
> new file mode 100644
> index 0000000..f6986c3
> --- /dev/null
> +++ b/compress.c
> @@ -0,0 +1,58 @@
> +#include "cache.h"
> +#include "compress.h"
> +
> +unsigned long compress_alloc(z_stream *stream, int level, unsigned long size)
> +{
> +	memset(stream, 0, sizeof(*stream));
> +	deflateInit(stream, level);
> +	return deflateBound(stream, size);
> +}
(Naming)
This is not about "allocation", but about "setup".
Show 10 quoted lines
> +int compress_start(z_stream *stream,
> +                   unsigned char *in, unsigned long in_size,
> +                   unsigned char *out, unsigned long out_size)
> +{
> +	stream->next_out = (out ? out : xmalloc(out_size));
> +	stream->avail_out = out_size;
> +	stream->next_in = in;
> +	stream->avail_in = in_size;
> +	return Z_OK;
> +}

This returns Z_OK unconditionally and most callers do not even bother checking the return value. Shouldn't this be of type void?

Especially the use of this in if() conditional, after [06/11] changes its use in compress_all(), looks quite ugly.

Show 5 quoted lines
> +unsigned long compress_free(z_stream *stream)
> +{
> +	deflateEnd(stream);
> +	return stream->total_out;
> +}

Eventually, this should check errors from deflateEnd() and propagate that to the caller.

Previous: Junio C Hamano
Message 21 of 21 in “Introduce stream compress helpers”
  1. 01/11 Introduce stream compress helpersMarco Costalba, Feb 2, 2008
  2. 02/11 Use new compress helpers in git filesMarco Costalba, Feb 2, 2008
  3. 03/11 Use new compress helpers in fast-importMarco Costalba, Feb 2, 2008
  4. 04/11 Use new compress helpers in http-push.cMarco Costalba, Feb 2, 2008
  5. 05/11 Use new compress helpers in sha1_file.cMarco Costalba, Feb 2, 2008
  6. 06/11 Better error handling in compress_all()Marco Costalba, Feb 2, 2008
  7. 07/11 Introduce stream decompress helpersMarco Costalba, Feb 2, 2008
  8. 08/11 Use new decompress_all() helper in gitMarco Costalba, Feb 2, 2008
  9. 09/11 Convert http-push.c and http-walker.cMarco Costalba, Feb 2, 2008
  10. 10/11 Convert builtin-pack/unpackMarco Costalba, Feb 2, 2008
  11. 11/11 Convert sha1_file.c to use decompress helpersMarco Costalba, Feb 2, 2008
  12. Junio C HamanoFeb 4, 2008
  13. Junio C HamanoFeb 4, 2008
  14. Junio C HamanoFeb 4, 2008
  15. Junio C HamanoFeb 3, 2008
  16. Junio C HamanoFeb 3, 2008
  17. Junio C HamanoFeb 3, 2008
  18. Shawn O. PearceFeb 4, 2008
  19. Shawn O. PearceFeb 4, 2008
  20. Junio C HamanoFeb 3, 2008
  21. Junio C HamanoFeb 3, 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.