(read_makefile): Remove unused variable.

(parse_file_seq): When removing an elt that is just `)', properly fix up
the previous elt's next pointer.
This commit is contained in:
Roland McGrath 1994-04-01 23:44:10 +00:00
parent 087ef58502
commit 0513e29593

11
read.c
View file

@ -435,7 +435,6 @@ read_makefile (filename, flags)
in_ignored_define = 1; in_ignored_define = 1;
else else
{ {
unsigned int len;
p2 = end_of_token (p2); p2 = end_of_token (p2);
/* Let the variable name be the whole rest of the line, /* Let the variable name be the whole rest of the line,
with trailing blanks stripped (comments have already been with trailing blanks stripped (comments have already been
@ -1508,7 +1507,7 @@ parse_file_seq (stringp, stopchar, size, strip)
int strip; int strip;
{ {
register struct nameseq *new = 0; register struct nameseq *new = 0;
register struct nameseq *new1; register struct nameseq *new1, *lastnew1;
register char *p = *stringp; register char *p = *stringp;
char *q; char *q;
char *name; char *name;
@ -1569,7 +1568,7 @@ parse_file_seq (stringp, stopchar, size, strip)
an elt further down the chain (i.e., previous in the file list) an elt further down the chain (i.e., previous in the file list)
with an unmatched `(' (e.g., "lib(mem"). */ with an unmatched `(' (e.g., "lib(mem"). */
for (new1 = new; new1 != 0; new1 = new1->next) for (new1 = new, lastnew1 = 0; new1 != 0; lastnew1 = new1, new1 = new1->next)
if (new1->name[0] != '(' /* Don't catch "(%)" and suchlike. */ if (new1->name[0] != '(' /* Don't catch "(%)" and suchlike. */
&& new1->name[strlen (new1->name) - 1] == ')' && new1->name[strlen (new1->name) - 1] == ')'
&& index (new1->name, '(') == 0) && index (new1->name, '(') == 0)
@ -1623,10 +1622,12 @@ parse_file_seq (stringp, stopchar, size, strip)
{ {
/* NEW1 is just ")", part of something like "lib(a b )". /* NEW1 is just ")", part of something like "lib(a b )".
Omit it from the chain and free its storage. */ Omit it from the chain and free its storage. */
if (lastnew1 == 0)
new = new1->next;
else
lastnew1->next = new1->next;
lastn = new1; lastn = new1;
new1 = new1->next; new1 = new1->next;
if (new == lastn)
new = new1;
free (lastn->name); free (lastn->name);
free ((char *) lastn); free ((char *) lastn);
} }