- Fix Savannah bug 17825

- Fix Savannah bug 21231
This commit is contained in:
Paul Smith
2009-06-13 21:21:48 +00:00
parent c8840352ac
commit bf9822658f
13 changed files with 79 additions and 40 deletions

View File

@@ -361,7 +361,7 @@ string_glob (char *line)
That would break examples like:
$(patsubst ./%.c,obj/%.o,$(wildcard ./?*.c)). */
0),
sizeof (struct nameseq));
sizeof (struct nameseq), 1);
if (result == 0)
{
@@ -372,26 +372,20 @@ string_glob (char *line)
idx = 0;
while (chain != 0)
{
const char *name = chain->name;
unsigned int len = strlen (name);
struct nameseq *next = chain->next;
unsigned int len = strlen (chain->name);
if (idx + len + 1 > length)
{
length += (len + 1) * 2;
result = xrealloc (result, length);
}
memcpy (&result[idx], chain->name, len);
idx += len;
result[idx++] = ' ';
free (chain);
chain = next;
/* multi_glob will pass names without globbing metacharacters
through as is, but we want only files that actually exist. */
if (file_exists_p (name))
{
if (idx + len + 1 > length)
{
length += (len + 1) * 2;
result = xrealloc (result, length);
}
memcpy (&result[idx], name, len);
idx += len;
result[idx++] = ' ';
}
}
/* Kill the last space and terminate the string. */