From 3a7f0908b6d698ab1287840ea604111c28a67a61 Mon Sep 17 00:00:00 2001 From: Matheus Tavares Date: Thu, 6 May 2021 16:33:15 -0300 Subject: clean: remove unnecessary variable The variable `matches` used to hold the return of a `dir_path_match()` call that was removed in 95c11ecc73 ("Fix error-prone fill_directory() API; make it only return matches", 2020-04-01). Now `matches` will always hold 0, which is the value it's initialized with; and the condition `matches != MATCHED_EXACTLY` will always evaluate to true. So let's remove this unnecessary variable. Interestingly, it seems that `matches != MATCHED_EXACTLY` was already unnecessary before 95c11ecc73. That's because `remove_directories` is always set to 1 when we have pathspecs; So, in the condition `!remove_directories && matches != MATCHED_EXACTLY`, we would either: - have pathspecs (or have been given `-d`) and ignore `matches` because `remove_directories` is 1; or - not have pathspecs (nor `-d`) and end up just checking that `0 != MATCHED_EXACTLY`, as `matches` would never get reassigned after its zero initialization (because there is no pathspec to match). Signed-off-by: Matheus Tavares Reviewed-by: Elijah Newren Signed-off-by: Junio C Hamano diff --git a/builtin/clean.c b/builtin/clean.c index 4ca12bc..e3046b9 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -976,7 +976,6 @@ int cmd_clean(int argc, const char **argv, const char *prefix) for (i = 0; i < dir.nr; i++) { struct dir_entry *ent = dir.entries[i]; - int matches = 0; struct stat st; const char *rel; @@ -986,8 +985,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix) if (lstat(ent->name, &st)) die_errno("Cannot lstat '%s'", ent->name); - if (S_ISDIR(st.st_mode) && !remove_directories && - matches != MATCHED_EXACTLY) + if (S_ISDIR(st.st_mode) && !remove_directories) continue; rel = relative_path(ent->name, prefix, &buf); -- cgit v0.10.2-6-g49f6