diff-tree -c raw output
[git.git] / ls-files.c
index cc5b32e..6af3b09 100644 (file)
@@ -209,7 +209,7 @@ static int excluded(const char *pathname)
 
 struct nond_on_fs {
        int len;
-       char name[0];
+       char name[FLEX_ARRAY]; /* more */
 };
 
 static struct nond_on_fs **dir;
@@ -293,11 +293,12 @@ static void read_directory(const char *path, const char *base, int baselen)
                                /* fallthrough */
                        case DT_DIR:
                                memcpy(fullname + baselen + len, "/", 2);
+                               len++;
                                if (show_other_directories &&
-                                   !dir_exists(fullname, baselen + len + 1))
+                                   !dir_exists(fullname, baselen + len))
                                        break;
                                read_directory(fullname, fullname,
-                                              baselen + len + 1);
+                                              baselen + len);
                                continue;
                        case DT_REG:
                        case DT_LNK: