From 85c4a0d0482525480de4b575445ef8721858eff7 Mon Sep 17 00:00:00 2001 From: Michael Haggerty Date: Fri, 12 Aug 2011 23:43:08 +0200 Subject: Determine the start of the states outside of the pass loop Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- attr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'attr.c') diff --git a/attr.c b/attr.c index f23f62a6b1..a7d1aa95d2 100644 --- a/attr.c +++ b/attr.c @@ -192,7 +192,7 @@ static struct match_attr *parse_attr_line(const char *line, const char *src, { int namelen; int num_attr; - const char *cp, *name; + const char *cp, *name, *states; struct match_attr *res = NULL; int pass; int is_macro; @@ -223,11 +223,13 @@ static struct match_attr *parse_attr_line(const char *line, const char *src, else is_macro = 0; + states = name + namelen; + states += strspn(states, blank); + for (pass = 0; pass < 2; pass++) { /* pass 0 counts and allocates, pass 1 fills */ num_attr = 0; - cp = name + namelen; - cp = cp + strspn(cp, blank); + cp = states; while (*cp) { cp = parse_attr(src, lineno, cp, pass ? &(res->state[num_attr]) : NULL); -- cgit v1.2.3