apply: do not get confused by symlinks in the middle
[gitweb.git] / convert-objects.c
index b5f41ae2e38c1f7856d7f060955eed5da0aea036..cefbcebdcaa0a085745c81b2ed1103e9575cb635 100644 (file)
@@ -88,7 +88,7 @@ static int write_subdirectory(void *buffer, unsigned long size, const char *base
                unsigned int mode;
                char *slash, *origpath;
 
-               if (!path || sscanf(buffer, "%o", &mode) != 1)
+               if (!path || strtoul_ui(buffer, 8, &mode))
                        die("bad tree conversion");
                mode = convert_mode(mode);
                path++;
@@ -132,7 +132,7 @@ static void convert_tree(void *buffer, unsigned long size, unsigned char *result
        unsigned long orig_size = size;
 
        while (size) {
-               int len = 1+strlen(buffer);
+               size_t len = 1+strlen(buffer);
 
                convert_binary_sha1((char *) buffer + len);