Sync with 2.9.3
[gitweb.git] / show-index.c
index 45bb535773fd9c36f73502df9462f7de800009c8..1ead41e21131fcb3facc71c8e1d96bf5b65dbe8d 100644 (file)
@@ -1,13 +1,18 @@
 #include "cache.h"
 #include "pack.h"
 
-int main(int argc, char **argv)
+static const char show_index_usage[] =
+"git show-index";
+
+int cmd_main(int argc, const char **argv)
 {
        int i;
        unsigned nr;
        unsigned int version;
        static unsigned int top_index[256];
 
+       if (argc != 1)
+               usage(show_index_usage);
        if (fread(top_index, 2 * 4, 1, stdin) != 1)
                die("unable to read header");
        if (top_index[0] == htonl(PACK_IDX_SIGNATURE)) {
@@ -43,7 +48,8 @@ int main(int argc, char **argv)
                        unsigned char sha1[20];
                        uint32_t crc;
                        uint32_t off;
-               } *entries = xmalloc(nr * sizeof(entries[0]));
+               } *entries;
+               ALLOC_ARRAY(entries, nr);
                for (i = 0; i < nr; i++)
                        if (fread(entries[i].sha1, 20, 1, stdin) != 1)
                                die("unable to read sha1 %u/%u", i, nr);