[PATCH] attr.c: simplify macroexpand_one()

Subsystems: the rest

DORMANTno replies

4 messages, 3 authors, 2016-06-16 · open the first message on its own page

[PATCH] attr.c: simplify macroexpand_one()

From: Junio C Hamano <hidden>
Date: 2016-06-16 02:19:24

The double-loop wants to do an early return immediately when one
matching macro is found.  Eliminate the extra variable 'a' used for
that purpose and rewrite the "assign found itme to 'a' to make it
non-NULL and force the loop(s) to terminate" with a direct return
from there.

Signed-off-by: Junio C Hamano <redacted>
---
 attr.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/attr.c b/attr.c
index 95416d3..7bfeef3 100644
--- a/attr.c
+++ b/attr.c
@@ -701,24 +701,21 @@ static int fill(const char *path, int pathlen, int basename_offset,
 static int macroexpand_one(int nr, int rem)
 {
 	struct attr_stack *stk;
-	struct match_attr *a = NULL;
 	int i;
 
 	if (check_all_attr[nr].value != ATTR__TRUE ||
 	    !check_all_attr[nr].attr->maybe_macro)
 		return rem;
 
-	for (stk = attr_stack; !a && stk; stk = stk->prev)
-		for (i = stk->num_matches - 1; !a && 0 <= i; i--) {
+	for (stk = attr_stack; stk; stk = stk->prev) {
+		for (i = stk->num_matches - 1; 0 <= i; i--) {
 			struct match_attr *ma = stk->attrs[i];
 			if (!ma->is_macro)
 				continue;
 			if (ma->u.attr->attr_nr == nr)
-				a = ma;
+				return fill_one("expand", ma, rem);
 		}
-
-	if (a)
-		rem = fill_one("expand", a, rem);
+	}
 
 	return rem;
 }
-- 
2.8.2-748-gfb85f76

Re: [PATCH] attr.c: simplify macroexpand_one()

From: Eric Sunshine <hidden>
Date: 2016-06-16 02:19:24

On Sun, May 15, 2016 at 6:57 PM, Junio C Hamano [off-list ref] wrote:
The double-loop wants to do an early return immediately when one
matching macro is found.  Eliminate the extra variable 'a' used for
that purpose and rewrite the "assign found itme to 'a' to make it
What's "itme"?
non-NULL and force the loop(s) to terminate" with a direct return
from there.

Signed-off-by: Junio C Hamano <redacted>

Re: [PATCH] attr.c: simplify macroexpand_one()

From: Junio C Hamano <hidden>
Date: 2016-06-16 02:19:24

On Sun, May 15, 2016 at 8:31 PM, Eric Sunshine [off-list ref] wrote:
On Sun, May 15, 2016 at 6:57 PM, Junio C Hamano [off-list ref] wrote:
quoted
The double-loop wants to do an early return immediately when one
matching macro is found.  Eliminate the extra variable 'a' used for
that purpose and rewrite the "assign found itme to 'a' to make it
What's "itme"?
item.

Re: [PATCH] attr.c: simplify macroexpand_one()

From: Stefan Beller <hidden>
Date: 2016-06-16 02:19:24

On Sun, May 15, 2016 at 9:41 PM, Junio C Hamano [off-list ref] wrote:
On Sun, May 15, 2016 at 8:31 PM, Eric Sunshine [off-list ref] wrote:
quoted
On Sun, May 15, 2016 at 6:57 PM, Junio C Hamano [off-list ref] wrote:
quoted
The double-loop wants to do an early return immediately when one
matching macro is found.  Eliminate the extra variable 'a' used for
that purpose and rewrite the "assign found itme to 'a' to make it
What's "itme"?
item.
The code looks good.

Thanks,
Stefan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help