X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=mktag.c;h=38acd5a295d5f06fb2db60633e89a06ba634beb8;hb=5433235daec11550973f1e290f069ce0c27f53ab;hp=3448a5dde7cbd795b08db872180f03dcfb66b99a;hpb=460ca302fdf453459850676c049ed7b46b43a0d4;p=git.git diff --git a/mktag.c b/mktag.c index 3448a5dde..38acd5a29 100644 --- a/mktag.c +++ b/mktag.c @@ -11,29 +11,22 @@ * The first three lines are guaranteed to be at least 63 bytes: * "object \n" is 48 bytes, "type tag\n" at 9 bytes is the * shortest possible type-line, and "tag .\n" at 6 bytes is the - * shortest single-character-tag line. - * - * We also artificially limit the size of the full object to 8kB. - * Just because I'm a lazy bastard, and if you can't fit a signature - * in that size, you're doing something wrong. + * shortest single-character-tag line. */ -/* Some random size */ -#define MAXSIZE (8192) - /* * We refuse to tag something we can't verify. Just because. */ static int verify_object(unsigned char *sha1, const char *expected_type) { int ret = -1; - char type[100]; + enum object_type type; unsigned long size; - void *buffer = read_sha1_file(sha1, type, &size); + void *buffer = read_sha1_file(sha1, &type, &size); if (buffer) { - if (!strcmp(type, expected_type)) - ret = check_sha1_signature(sha1, buffer, size, type); + if (type == type_from_string(expected_type)) + ret = check_sha1_signature(sha1, buffer, size, expected_type); free(buffer); } return ret; @@ -127,7 +120,7 @@ int main(int argc, char **argv) setup_git_directory(); - if (read_pipe(0, &buffer, &size)) { + if (read_fd(0, &buffer, &size)) { free(buffer); die("could not read from stdin"); }