From a44c9a5e2e6d4108452f2c64dbd11f74a83745af Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 25 Apr 2005 10:19:53 -0700 Subject: Simplify "write_sha1_file()" interfaces The write function now adds the header to the file by itself, so there is no reason to duplicate it among all the users any more. --- commit-tree.c | 39 ++------------------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) (limited to 'commit-tree.c') diff --git a/commit-tree.c b/commit-tree.c index c0b07f892..f6e408756 100644 --- a/commit-tree.c +++ b/commit-tree.c @@ -12,19 +12,14 @@ #include #define BLOCKING (1ul << 14) -#define ORIG_OFFSET (40) /* - * Leave space at the beginning to insert the tag - * once we know how big things are. - * * FIXME! Share the code with "write-tree.c" */ static void init_buffer(char **bufp, unsigned int *sizep) { char *buf = malloc(BLOCKING); - memset(buf, 0, ORIG_OFFSET); - *sizep = ORIG_OFFSET; + *sizep = 0; *bufp = buf; } @@ -52,34 +47,6 @@ static void add_buffer(char **bufp, unsigned int *sizep, const char *fmt, ...) memcpy(buf + size, one_line, len); } -static int prepend_integer(char *buffer, unsigned val, int i) -{ - buffer[--i] = '\0'; - do { - buffer[--i] = '0' + (val % 10); - val /= 10; - } while (val); - return i; -} - -static void finish_buffer(char *tag, char **bufp, unsigned int *sizep) -{ - int taglen; - int offset; - char *buf = *bufp; - unsigned int size = *sizep; - - offset = prepend_integer(buf, size - ORIG_OFFSET, ORIG_OFFSET); - taglen = strlen(tag); - offset -= taglen; - buf += offset; - size -= offset; - memcpy(buf, tag, taglen); - - *bufp = buf; - *sizep = size; -} - static void remove_special(char *p) { char c; @@ -355,9 +322,7 @@ int main(int argc, char **argv) while (fgets(comment, sizeof(comment), stdin) != NULL) add_buffer(&buffer, &size, "%s", comment); - finish_buffer("commit ", &buffer, &size); - - write_sha1_file(buffer, size, commit_sha1); + write_sha1_file(buffer, size, "commit", commit_sha1); printf("%s\n", sha1_to_hex(commit_sha1)); return 0; } -- cgit v1.2.1