avoid "write_in_full(fd, buf, len) != len" pattern
[gitweb.git] / builtin / clean.c
index 937eb17b66ca8984a040e32b575eca43cfccb0e2..c1bafda5b63324b0aba7400535cc0ba745e46004 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "builtin.h"
 #include "cache.h"
+#include "config.h"
 #include "dir.h"
 #include "parse-options.h"
 #include "string-list.h"
@@ -124,8 +125,7 @@ static int git_clean_config(const char *var, const char *value, void *cb)
                return 0;
        }
 
-       /* inspect the color.ui config variable and others */
-       return git_color_default_config(var, value, cb);
+       return git_default_config(var, value, cb);
 }
 
 static const char *clean_get_color(enum color_clean ix)
@@ -683,7 +683,7 @@ static int filter_by_patterns_cmd(void)
                for_each_string_list_item(item, &del_list) {
                        int dtype = DT_UNKNOWN;
 
-                       if (is_excluded(&dir, item->string, &dtype)) {
+                       if (is_excluded(&dir, &the_index, item->string, &dtype)) {
                                *item->string = '\0';
                                changed++;
                        }
@@ -837,8 +837,7 @@ static void interactive_main_loop(void)
                        int ret;
                        ret = menus[*chosen].fn();
                        if (ret != MENU_RETURN_NO_LOOP) {
-                               free(chosen);
-                               chosen = NULL;
+                               FREE_AND_NULL(chosen);
                                if (!del_list.nr) {
                                        clean_print_color(CLEAN_COLOR_ERROR);
                                        printf_ln(_("No more files to clean, exiting."));
@@ -851,8 +850,7 @@ static void interactive_main_loop(void)
                        quit_cmd();
                }
 
-               free(chosen);
-               chosen = NULL;
+               FREE_AND_NULL(chosen);
                break;
        }
 }
@@ -965,7 +963,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
                       PATHSPEC_PREFER_CWD,
                       prefix, argv);
 
-       fill_directory(&dir, &pathspec);
+       fill_directory(&dir, &the_index, &pathspec);
        correct_untracked_entries(&dir);
 
        for (i = 0; i < dir.nr; i++) {