Replace all read_fd use with strbuf_read, and get rid of it.
This brings builtin-stripspace, builtin-tag and mktag to use strbufs. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
635d043f30
commit
fd17f5b5f7
15
mktag.c
15
mktag.c
@ -1,4 +1,5 @@
|
||||
#include "cache.h"
|
||||
#include "strbuf.h"
|
||||
#include "tag.h"
|
||||
|
||||
/*
|
||||
@ -111,8 +112,7 @@ static int verify_tag(char *buffer, unsigned long size)
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
unsigned long size = 4096;
|
||||
char *buffer = xmalloc(size);
|
||||
struct strbuf buf;
|
||||
unsigned char result_sha1[20];
|
||||
|
||||
if (argc != 1)
|
||||
@ -120,21 +120,20 @@ int main(int argc, char **argv)
|
||||
|
||||
setup_git_directory();
|
||||
|
||||
if (read_fd(0, &buffer, &size)) {
|
||||
free(buffer);
|
||||
strbuf_init(&buf, 0);
|
||||
if (strbuf_read(&buf, 0, 4096) < 0) {
|
||||
die("could not read from stdin");
|
||||
}
|
||||
|
||||
/* Verify it for some basic sanity: it needs to start with
|
||||
"object <sha1>\ntype\ntagger " */
|
||||
if (verify_tag(buffer, size) < 0)
|
||||
if (verify_tag(buf.buf, buf.len) < 0)
|
||||
die("invalid tag signature file");
|
||||
|
||||
if (write_sha1_file(buffer, size, tag_type, result_sha1) < 0)
|
||||
if (write_sha1_file(buf.buf, buf.len, tag_type, result_sha1) < 0)
|
||||
die("unable to write tag file");
|
||||
|
||||
free(buffer);
|
||||
|
||||
strbuf_release(&buf);
|
||||
printf("%s\n", sha1_to_hex(result_sha1));
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user