Re: [PATCH 3/3][GSOC] fsck: use is_dot_or_dotdot() instead of strcmp()
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:00:21
Hiroyuki Sano [off-list ref] writes:
quoted hunk
The is_dot_or_dotdot() is used to check if the string is either "." or "..". Signed-off-by: Hiroyuki Sano <redacted> --- fsck.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)diff --git a/fsck.c b/fsck.c index b3022ad..c9d7784 100644 --- a/fsck.c +++ b/fsck.c@@ -6,6 +6,7 @@ #include "commit.h" #include "tag.h" #include "fsck.h" +#include "dir.h" static int fsck_walk_tree(struct tree *tree, fsck_walk_func walk, void *data) {@@ -171,10 +172,12 @@ static int fsck_tree(struct tree *item, int strict, fsck_error error_func) has_full_path = 1; if (!*name) has_empty_name = 1; - if (!strcmp(name, ".")) - has_dot = 1; - if (!strcmp(name, "..")) - has_dotdot = 1; + if (is_dot_or_dotdot(name)) { + if (!name[1]) + has_dot = 1; + else + has_dotdot = 1; + }
In what way is this an improvement? This looks like "because I was told to", not "because the resulting code is better" to me. The other patch on diff-no-index looked sensible, though.
if (!strcmp(name, ".git")) has_dotgit = 1; has_zero_pad |= *(char *)desc.buffer == '0';