diff options
Diffstat (limited to 'get-tar-commit-id.c')
-rw-r--r-- | get-tar-commit-id.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/get-tar-commit-id.c b/get-tar-commit-id.c new file mode 100644 index 0000000000..416629035c --- /dev/null +++ b/get-tar-commit-id.c @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2005 Rene Scharfe + */ +#include <stdio.h> +#include <string.h> +#include <unistd.h> + +#define HEADERSIZE 1024 + +int main(int argc, char **argv) +{ + char buffer[HEADERSIZE]; + ssize_t n; + + n = read(0, buffer, HEADERSIZE); + if (n < HEADERSIZE) { + fprintf(stderr, "read error\n"); + return 3; + } + if (buffer[156] != 'g') + return 1; + if (memcmp(&buffer[512], "52 comment=", 11)) + return 1; + n = write(1, &buffer[523], 41); + if (n < 41) { + fprintf(stderr, "write error\n"); + return 2; + } + return 0; +} |