clean up and optimize nth_packed_object_sha1() usage
[gitweb.git] / mktag.c
diff --git a/mktag.c b/mktag.c
index 09b6e437d46a71b0123b5cb791cc537cf946e7a1..931011121e7276513b55fc41691c65a0d924119d 100644 (file)
--- a/mktag.c
+++ b/mktag.c
 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;
@@ -119,11 +119,11 @@ static int verify_tag(char *buffer, unsigned long size)
 int main(int argc, char **argv)
 {
        unsigned long size = 4096;
-       char *buffer = malloc(size);
+       char *buffer = xmalloc(size);
        unsigned char result_sha1[20];
 
        if (argc != 1)
-               usage("cat <signaturefile> | git-mktag");
+               usage("git-mktag < signaturefile");
 
        setup_git_directory();