mailinfo: move [ps]_hdr_data to struct mailinfo
[gitweb.git] / builtin / describe.c
index e00a75b121826e89ee70cbedbfad760dc29640a0..7df554326b08581c49f391d061be14cd1164ea88 100644 (file)
@@ -119,10 +119,10 @@ static void add_to_known_names(const char *path,
        }
 }
 
-static int get_name(const char *path, const unsigned char *sha1, int flag, void *cb_data)
+static int get_name(const char *path, const struct object_id *oid, int flag, void *cb_data)
 {
        int is_tag = starts_with(path, "refs/tags/");
-       unsigned char peeled[20];
+       struct object_id peeled;
        int is_annotated, prio;
 
        /* Reject anything outside refs/tags/ unless --all */
@@ -134,10 +134,10 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void
                return 0;
 
        /* Is it annotated? */
-       if (!peel_ref(path, peeled)) {
-               is_annotated = !!hashcmp(sha1, peeled);
+       if (!peel_ref(path, peeled.hash)) {
+               is_annotated = !!oidcmp(oid, &peeled);
        } else {
-               hashcpy(peeled, sha1);
+               oidcpy(&peeled, oid);
                is_annotated = 0;
        }
 
@@ -154,7 +154,7 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void
        else
                prio = 0;
 
-       add_to_known_names(all ? path + 5 : path + 10, peeled, prio, sha1);
+       add_to_known_names(all ? path + 5 : path + 10, peeled.hash, prio, oid->hash);
        return 0;
 }
 
@@ -443,10 +443,10 @@ int cmd_describe(int argc, const char **argv, const char *prefix)
                        if (pattern)
                                argv_array_pushf(&args, "--refs=refs/tags/%s", pattern);
                }
-               while (*argv) {
-                       argv_array_push(&args, *argv);
-                       argv++;
-               }
+               if (argc)
+                       argv_array_pushv(&args, argv);
+               else
+                       argv_array_push(&args, "HEAD");
                return cmd_name_rev(args.argc, args.argv, prefix);
        }