From: "Marco Costalba" <mcostalba@gmail.com>
To: "Git Mailing List" <git@vger.kernel.org>
Subject: [PATCH 6/6] Use new compress helpers in builtin-pack-objects.c
Date: Thu, 10 Jan 2008 22:34:49 +0100 [thread overview]
Message-ID: <e5bfff550801101334p5df5adaerf0eeae02ddf28334@mail.gmail.com> (raw)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
---
It's 'compress helper' not 'decomrpess helper' of course.
All my patch series is misnamed by my idiocy!
This is the last one for this evening, this is interesting
because pack_compression_level instead of the usual
zlib_compression_level is used.
The goal of this patch series is to have some
comment before to procede with remaining conversions.
When compression is fully abstarceted out I will go with
decompression (inflate).
At the end of this job perhaps we have something that
allows us to have fun with different compression libraries.
In any case IMHO this patch series is valid 'per se' as a
cleanup and (a lot of) code lines removing.
builtin-pack-objects.c | 21 ++++-----------------
1 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index a39cb82..682d7fb 100644
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
@@ -1,5 +1,6 @@
#include "builtin.h"
#include "cache.h"
+#include "compress.h"
#include "attr.h"
#include "object.h"
#include "blob.h"
@@ -409,9 +410,7 @@ static unsigned long write_object(struct sha1file *f,
*/
if (!to_reuse) {
- z_stream stream;
- unsigned long maxsize;
- void *out;
+ unsigned char *out = NULL;
if (!usable_delta) {
buf = read_sha1_file(entry->idx.sha1, &obj_type, &size);
if (!buf)
@@ -432,20 +431,8 @@ static unsigned long write_object(struct sha1file *f,
OBJ_OFS_DELTA : OBJ_REF_DELTA;
}
/* compress the data to store and put compressed length in datalen */
- memset(&stream, 0, sizeof(stream));
- deflateInit(&stream, pack_compression_level);
- maxsize = deflateBound(&stream, size);
- out = xmalloc(maxsize);
- /* Compress it */
- stream.next_in = buf;
- stream.avail_in = size;
- stream.next_out = out;
- stream.avail_out = maxsize;
- while (deflate(&stream, Z_FINISH) == Z_OK)
- /* nothing */;
- deflateEnd(&stream);
- datalen = stream.total_out;
- deflateEnd(&stream);
+ datalen = z_deflate_all(pack_compression_level, buf, size, &out);
+
/*
* The object header is a byte of 'type' followed by zero or
* more bytes of length.
--
1.5.4.rc2.89.g1b3f-dirty
next reply other threads:[~2008-01-10 21:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-10 21:34 Marco Costalba [this message]
2008-01-10 22:26 ` [PATCH 6/6] Use new compress helpers in builtin-pack-objects.c Nicolas Pitre
2008-01-11 6:10 ` Marco Costalba
2008-01-11 7:26 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e5bfff550801101334p5df5adaerf0eeae02ddf28334@mail.gmail.com \
--to=mcostalba@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).