[PATCH] Fix local pull that uses packs.
[gitweb.git] / tar-tree.c
index 4c47fc2bec1e6305d122865e2da318bc795ab8ef..2716ae3eb1430abfc43d980d904fc192f8dcbbf4 100644 (file)
@@ -17,7 +17,7 @@
 #define EXT_HEADER_PATH                1
 #define EXT_HEADER_LINKPATH    2
 
-static const char *tar_tree_usage = "git-tar-tree <key> [basedir]";
+static const char tar_tree_usage[] = "git-tar-tree <key> [basedir]";
 
 static char block[BLOCKSIZE];
 static unsigned long offset;
@@ -325,8 +325,8 @@ static void write_header(const unsigned char *sha1, char typeflag, const char *b
        memcpy(&header[257], "ustar", 6);
        memcpy(&header[263], "00", 2);
 
-       printf(&header[329], "%07o", 0);        /* devmajor */
-       printf(&header[337], "%07o", 0);        /* devminor */
+       sprintf(&header[329], "%07o", 0);       /* devmajor */
+       sprintf(&header[337], "%07o", 0);       /* devminor */
 
        memset(&header[148], ' ', 8);
        for (i = 0; i < RECORDSIZE; i++)
@@ -430,8 +430,8 @@ int main(int argc, char **argv)
        if (!archive_time)
                archive_time = time(NULL);
        if (basedir)
-               write_header("0", TYPEFLAG_DIR, NULL, NULL, basedir, 040755,
-                            NULL, 0);
+               write_header((unsigned char *)"0", TYPEFLAG_DIR, NULL, NULL,
+                       basedir, 040755, NULL, 0);
        traverse_tree(buffer, size, NULL);
        free(buffer);
        write_trailer();