mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2024-12-25 05:29:47 +00:00
Formerly vpath.c.~13~
This commit is contained in:
parent
3296fa1dff
commit
9a6b8d1015
1 changed files with 20 additions and 14 deletions
34
vpath.c
34
vpath.c
|
@ -72,25 +72,27 @@ build_vpath_lists ()
|
||||||
int save = warn_undefined_variables_flag;
|
int save = warn_undefined_variables_flag;
|
||||||
warn_undefined_variables_flag = 0;
|
warn_undefined_variables_flag = 0;
|
||||||
|
|
||||||
p = variable_expand ("$(VPATH)");
|
p = variable_expand ("$(strip $(VPATH))");
|
||||||
|
|
||||||
warn_undefined_variables_flag = save;
|
warn_undefined_variables_flag = save;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*p != '\0')
|
if (*p != '\0')
|
||||||
{
|
{
|
||||||
|
/* Save the list of vpaths. */
|
||||||
|
struct vpath *save_vpaths = vpaths;
|
||||||
|
|
||||||
|
/* Empty `vpaths' so the new one will have no next, and `vpaths'
|
||||||
|
will still be nil if P contains no existing directories. */
|
||||||
|
vpaths = 0;
|
||||||
|
|
||||||
|
/* Parse P. */
|
||||||
construct_vpath_list ("%", p);
|
construct_vpath_list ("%", p);
|
||||||
/* VPATHS will be nil if there have been no previous `vpath'
|
|
||||||
directives and none of the given directories exists. */
|
/* Store the created path as the general path,
|
||||||
if (vpaths == 0)
|
and restore the old list of vpaths. */
|
||||||
general_vpath = 0;
|
general_vpath = vpaths;
|
||||||
else
|
vpaths = save_vpaths;
|
||||||
{
|
|
||||||
general_vpath = vpaths;
|
|
||||||
/* It was just put into the linked list,
|
|
||||||
but we don't want it there, so we must remove it. */
|
|
||||||
vpaths = general_vpath->next;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,8 +253,12 @@ construct_vpath_list (pattern, dirpath)
|
||||||
path->patlen = strlen (pattern);
|
path->patlen = strlen (pattern);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* There were no entries, so free whatever space we allocated. */
|
{
|
||||||
free ((char *) vpath);
|
/* There were no entries, so free whatever space we allocated. */
|
||||||
|
free ((char *) vpath);
|
||||||
|
if (pattern != 0)
|
||||||
|
free (pattern);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search the VPATH list whose pattern matches *FILE for a directory
|
/* Search the VPATH list whose pattern matches *FILE for a directory
|
||||||
|
|
Loading…
Reference in a new issue