commit 8fea012

shrub  ·  2026-04-13 07:47:31 +0000 UTC
parent 5372723
fix @ strpping, make dot reset when we see a / in basename (+6 test passes)
2 files changed,  +5, -11
+2, -9
 1@@ -26,15 +26,8 @@ cleanrecipe(const char *s)
 2 
 3 	while (*s == ' ' || *s == '\t')
 4 		s++;
 5-	while (*s == '@' || *s == '+' || *s == '-') {
 6-		char next = s[1];
 7-
 8-		if (next == '@' || next == '+' || next == '-' ||
 9-		    next == ' ' || next == '\t' || next == '\0')
10-			s++;
11-		else
12-			break;
13-	}
14+	while (*s == '@' || *s == '+' || *s == '-')
15+		s++;
16 	while (*s == ' ' || *s == '\t')
17 		s++;
18 	n = strlen(s);
+3, -2
 1@@ -543,9 +543,10 @@ fnbasename(const char *names)
 2 		fnstart = names + i;
 3 		dot = 0;
 4 		for (k = i; k < j; k++) {
 5-			if (names[k] == '/')
 6+			if (names[k] == '/') {
 7 				fnstart = names + k + 1;
 8-			else if (names[k] == '.' && names + k > fnstart)
 9+				dot = 0;
10+			} else if (names[k] == '.' && names + k > fnstart)
11 				dot = names + k;
12 		}
13 		if (dot)