X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=mktag.c;h=b82e377bd826617810488ea8c92a4135bceebda6;hb=a2f8028d3d661b314d5a784764f2f5f9e4c2dde0;hp=3448a5dde7cbd795b08db872180f03dcfb66b99a;hpb=659db3f673fe199bad6ce9cc625d3a1b098bfbcf;p=git.git diff --git a/mktag.c b/mktag.c index 3448a5dde..b82e377bd 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;