X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=mktag.c;h=23288781cf6caad62253130f75112e18eb4905aa;hb=ecc13e73cf96cb14e2403be6538593a167d7ea23;hp=585677eb83cd0fd21963d21291a6af2b54fc9c84;hpb=b30245c8e92ecaf8fb877189d7620a5a9a205120;p=git.git diff --git a/mktag.c b/mktag.c index 585677eb..23288781 100644 --- a/mktag.c +++ b/mktag.c @@ -1,4 +1,5 @@ #include "cache.h" +#include "tag.h" /* * A signature file has a very simple fixed format: three lines @@ -111,17 +112,14 @@ int main(int argc, char **argv) if (argc != 1) usage("cat | git-mktag"); + setup_git_directory(); + // Read the signature size = 0; for (;;) { - int ret = read(0, buffer + size, MAXSIZE - size); - if (!ret) - break; - if (ret < 0) { - if (errno == EAGAIN) - continue; + int ret = xread(0, buffer + size, MAXSIZE - size); + if (ret <= 0) break; - } size += ret; } @@ -129,7 +127,7 @@ int main(int argc, char **argv) if (verify_tag(buffer, size) < 0) die("invalid tag signature file"); - if (write_sha1_file(buffer, size, "tag", result_sha1) < 0) + if (write_sha1_file(buffer, size, tag_type, result_sha1) < 0) die("unable to write tag file"); printf("%s\n", sha1_to_hex(result_sha1)); return 0;