threads / patch / 36225

v2diff-no-index.c : rewrite read_directory() to use is_dot_or_dotdot().

Subject: [PATCH v2] diff-no-index.c : rewrite read_directory() to use is_dot_or_dotdot().

## tl;dr

2 messages between Mar 19, 2014 and Mar 19, 2014. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Andrei Dinu· Mar 19, 2014, 13:29 UTC · lore
replace manual "."/".." check with is_dot_or_dotdot().
choose to implement my own function because did't find the defined one.
[1]: http://article.gmane.org/gmane.comp.version-control.git/244420
Signed-off-by: Andrei Dinu <mandrei.dinu@gmail.com>
---
 I plan on applying to GSoc 2014
 diff-no-index.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
Show changes to diff-no-index.c +4 −4
diff --git a/diff-no-index.c b/diff-no-index.c
index 83cdbf7..d91ea3b 100644
--- a/diff-no-index.c
+++ b/diff-no-index.c
@@ -19,10 +19,10 @@
 static int is_dot_or_dotdot(const char *path)
 {
     if (path[0] == '.' && path[1] == '\0')
-        return 0;
+        return 1;
     else if (path[0] == '.' && path[1] == '.' && path[2] == '\0')
-        return 0;
-    return 1;
+        return 1;
+    return 0;
 }
 
 static int read_directory(const char *path, struct string_list *list)
@@ -34,7 +34,7 @@ static int read_directory(const char *path, struct string_list *list)
 		return error("Could not open directory %s", path);
 
 	while ((e = readdir(dir)))
-		if (is_dot_or_dotdot(e->d_name))
+		if (!is_dot_or_dotdot(e->d_name))
 			string_list_insert(list, e->d_name);
 
 	closedir(dir);
-- 
1.7.9.5
Matthieu Moy· Mar 19, 2014, 13:44 UTC · re: Andrei Dinu · lore

Re: [PATCH v2] diff-no-index.c : rewrite read_directory() to use is_dot_or_dotdot().

Andrei Dinu <mandrei.dinu@gmail.com> writes:
> replace manual "."/".." check with is_dot_or_dotdot().
This is not what the patch below does.
> choose to implement my own function because did't find the defined one.
That does not seem to be a good reason to me. Run
  git grep is_dot_or_dotdot

in Git's source code to find it (or use your favorite code navigation tool like ctags/etags/...).

> [1]: http://article.gmane.org/gmane.comp.version-control.git/244420
Show 28 quoted lines
>  diff-no-index.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/diff-no-index.c b/diff-no-index.c
> index 83cdbf7..d91ea3b 100644
> --- a/diff-no-index.c
> +++ b/diff-no-index.c
> @@ -19,10 +19,10 @@
>  static int is_dot_or_dotdot(const char *path)
>  {
>      if (path[0] == '.' && path[1] == '\0')
> -        return 0;
> +        return 1;
>      else if (path[0] == '.' && path[1] == '.' && path[2] == '\0')
> -        return 0;
> -    return 1;
> +        return 1;
> +    return 0;
>  }
>  
>  static int read_directory(const char *path, struct string_list *list)
> @@ -34,7 +34,7 @@ static int read_directory(const char *path, struct string_list *list)
>  		return error("Could not open directory %s", path);
>  
>  	while ((e = readdir(dir)))
> -		if (is_dot_or_dotdot(e->d_name))
> +		if (!is_dot_or_dotdot(e->d_name))
>  			string_list_insert(list, e->d_name);

This could come on top of your previous patch, but when you resend, please sent a new patch, not a "fixup patch" like this. Git's history should be clean, and the patch that will eventually be applied should not reflect the trial and error iterations that led to the result.

Read about "git rebase -i" and "git commit --amend" for more information about this.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

← back to recent threads