git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 1/2] dir.c: make last_exclude_matching_from_list() run til the end

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Sep 13, 2015, 01:19 UTC
Message-ID
<1442107141-24265-2-git-send-email-pclouds@gmail.com>
In-Reply-To
<1442107141-24265-1-git-send-email-pclouds@gmail.com>

The next patch adds some post processing to the result value before it's returned to the caller. Make all branches reach the end of the function, so we can do it all in one place.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 dir.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/dir.c b/dir.c
index c00c7e2..3a7630a 100644
--- a/dir.c
+++ b/dir.c
@@ -901,6 +901,7 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname,
 						       int *dtype,
 						       struct exclude_list *el)
 {
+	struct exclude *exc = NULL; /* undecided */
 	int i;
 
 	if (!el->nr)
@@ -922,18 +923,22 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname,
 			if (match_basename(basename,
 					   pathlen - (basename - pathname),
 					   exclude, prefix, x->patternlen,
-					   x->flags))
-				return x;
+					   x->flags)) {
+				exc = x;
+				break;
+			}
 			continue;
 		}
 
 		assert(x->baselen == 0 || x->base[x->baselen - 1] == '/');
 		if (match_pathname(pathname, pathlen,
 				   x->base, x->baselen ? x->baselen - 1 : 0,
-				   exclude, prefix, x->patternlen, x->flags))
-			return x;
+				   exclude, prefix, x->patternlen, x->flags)) {
+			exc = x;
+			break;
+		}
 	}
-	return NULL; /* undecided */
+	return exc;
 }
 
 /*
-- 
2.3.0.rc1.137.g477eb31
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 7 of 10 in “gitignore, re-inclusion fix”
  1. 0/2 gitignore, re-inclusion fixNguyễn Thái Ngọc Duy, Aug 23, 2015
  2. 1/2 dir.c: make last_exclude_matching_from_list() run til the endNguyễn Thái Ngọc Duy, Aug 23, 2015
  3. Junio C HamanoAug 25, 2015
  4. Duy NguyenAug 31, 2015
  5. 2/2 dir.c: don't exclude whole dir prematurely if neg pattern may matchNguyễn Thái Ngọc Duy, Aug 23, 2015
  6. 0/2 gitignore, re-inclusion fixNguyễn Thái Ngọc Duy, Sep 13, 2015
  7. 1/2 dir.c: make last_exclude_matching_from_list() run til the endNguyễn Thái Ngọc Duy, Sep 13, 2015
  8. 2/2 dir.c: don't exclude whole dir prematurely if neg pattern may matchNguyễn Thái Ngọc Duy, Sep 13, 2015
  9. Junio C HamanoSep 14, 2015
  10. Duy NguyenSep 17, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.