summaryrefslogtreecommitdiff
path: root/commit-tree.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-25 10:19:53 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-25 10:19:53 -0700
commita44c9a5e2e6d4108452f2c64dbd11f74a83745af (patch)
treeaa4796d8d4ae8c6c64bf9bd4b2d657571c67d4e4 /commit-tree.c
parente6948b6d88c69a864e9c461911287c5cc5932a3b (diff)
downloadgit-a44c9a5e2e6d4108452f2c64dbd11f74a83745af.tar.gz
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.
Diffstat (limited to 'commit-tree.c')
-rw-r--r--commit-tree.c39
1 files changed, 2 insertions, 37 deletions
diff --git a/commit-tree.c b/commit-tree.c
index c0b07f8928..f6e4087560 100644
--- a/commit-tree.c
+++ b/commit-tree.c
@@ -12,19 +12,14 @@
#include <time.h>
#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;
}