From: Nguyễn Thái Ngọc Duy Date: Wed, 7 Mar 2012 10:54:20 +0000 (+0700) Subject: fsck: use streaming API for writing lost-found blobs X-Git-Tag: v1.7.11-rc0~163^2~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6f7f3beb2d19ab772729fc599d4a92ebf9140c5f;p=git.git fsck: use streaming API for writing lost-found blobs Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- diff --git a/builtin/fsck.c b/builtin/fsck.c index 67eb553c7..a710227a6 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -12,6 +12,7 @@ #include "parse-options.h" #include "dir.h" #include "progress.h" +#include "streaming.h" #define REACHABLE 0x0001 #define SEEN 0x0002 @@ -238,13 +239,8 @@ static void check_unreachable_object(struct object *obj) if (!(f = fopen(filename, "w"))) die_errno("Could not open '%s'", filename); if (obj->type == OBJ_BLOB) { - enum object_type type; - unsigned long size; - char *buf = read_sha1_file(obj->sha1, - &type, &size); - if (buf && fwrite(buf, 1, size, f) != size) + if (stream_blob_to_fd(fileno(f), obj->sha1, NULL, 1)) die_errno("Could not write '%s'", filename); - free(buf); } else fprintf(f, "%s\n", sha1_to_hex(obj->sha1)); if (fclose(f))