Determine the start of the states outside of the pass loop
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
d175129857
commit
85c4a0d048
8
attr.c
8
attr.c
@ -192,7 +192,7 @@ static struct match_attr *parse_attr_line(const char *line, const char *src,
|
|||||||
{
|
{
|
||||||
int namelen;
|
int namelen;
|
||||||
int num_attr;
|
int num_attr;
|
||||||
const char *cp, *name;
|
const char *cp, *name, *states;
|
||||||
struct match_attr *res = NULL;
|
struct match_attr *res = NULL;
|
||||||
int pass;
|
int pass;
|
||||||
int is_macro;
|
int is_macro;
|
||||||
@ -223,11 +223,13 @@ static struct match_attr *parse_attr_line(const char *line, const char *src,
|
|||||||
else
|
else
|
||||||
is_macro = 0;
|
is_macro = 0;
|
||||||
|
|
||||||
|
states = name + namelen;
|
||||||
|
states += strspn(states, blank);
|
||||||
|
|
||||||
for (pass = 0; pass < 2; pass++) {
|
for (pass = 0; pass < 2; pass++) {
|
||||||
/* pass 0 counts and allocates, pass 1 fills */
|
/* pass 0 counts and allocates, pass 1 fills */
|
||||||
num_attr = 0;
|
num_attr = 0;
|
||||||
cp = name + namelen;
|
cp = states;
|
||||||
cp = cp + strspn(cp, blank);
|
|
||||||
while (*cp) {
|
while (*cp) {
|
||||||
cp = parse_attr(src, lineno, cp,
|
cp = parse_attr(src, lineno, cp,
|
||||||
pass ? &(res->state[num_attr]) : NULL);
|
pass ? &(res->state[num_attr]) : NULL);
|
||||||
|
Reference in New Issue
Block a user