summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 93d496a)
raw | patch | inline | side by side (parent: 93d496a)
author | Dana L. How <danahow@gmail.com> | |
Sun, 13 May 2007 18:28:19 +0000 (11:28 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Mon, 21 May 2007 04:55:26 +0000 (21:55 -0700) |
update=0 suppressed writing the final SHA-1 but was not used.
Now final=0 suppresses SHA-1 finalization, SHA-1 writing,
and closing -- in other words, only flush the buffer.
Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Now final=0 suppresses SHA-1 finalization, SHA-1 writing,
and closing -- in other words, only flush the buffer.
Signed-off-by: Dana L. How <danahow@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
csum-file.c | patch | blob | history |
diff --git a/csum-file.c b/csum-file.c
index 7088f6e93f02985f5fa5c687eb59f90ae4c13f7c..510934262437cf48c2b732bc2a392dd8167bee45 100644 (file)
--- a/csum-file.c
+++ b/csum-file.c
}
}
-int sha1close(struct sha1file *f, unsigned char *result, int update)
+int sha1close(struct sha1file *f, unsigned char *result, int final)
{
unsigned offset = f->offset;
if (offset) {
SHA1_Update(&f->ctx, f->buffer, offset);
sha1flush(f, offset);
+ f->offset = 0;
}
+ if (!final)
+ return 0; /* only want to flush (no checksum write, no close) */
SHA1_Final(f->buffer, &f->ctx);
if (result)
hashcpy(result, f->buffer);
- if (update)
- sha1flush(f, 20);
+ sha1flush(f, 20);
if (close(f->fd))
die("%s: sha1 file error on close (%s)", f->name, strerror(errno));
free(f);