Hello Paul, * Paul Eggert wrote on Wed, Oct 17, 2007 at 01:41:21AM CEST: > > That bug isn't in the libc version. At this point it's probably better > to sync the gnulib version from libc, so I installed this: > > 2007-10-16 Paul Eggert <[EMAIL PROTECTED]> > > Merge glibc changes into lib/glob.c. [...]
> + memory_error: > + while (1) > + { > + struct globnames *old = names; > + for (size_t i = 0; i < cur; ++i) That doesn't look like C89 to me. > + free (names->name[i]); [...] > + while (1) > + { > + struct globnames *old = names; > + for (size_t i = 0; i < cur; ++i) > + new_gl_pathv[pglob->gl_offs + pglob->gl_pathc++] > + = names->name[i]; This patch should fix the C89 issues. Should I report this upstream? Cheers, Ralf 2007-10-22 Ralf Wildenhues <[EMAIL PROTECTED]> * lib/glob.c: Work for C89. diff --git a/lib/glob.c b/lib/glob.c index 1d31d77..7e409d6 100644 --- a/lib/glob.c +++ b/lib/glob.c @@ -1442,8 +1442,9 @@ glob_in_dir (const char *pattern, const char *directory, int flags, memory_error: while (1) { + size_t i; struct globnames *old = names; - for (size_t i = 0; i < cur; ++i) + for (i = 0; i < cur; ++i) free (names->name[i]); names = names->next; /* NB: we will not leak memory here if we exit without @@ -1467,8 +1468,9 @@ glob_in_dir (const char *pattern, const char *directory, int flags, { while (1) { + size_t i; struct globnames *old = names; - for (size_t i = 0; i < cur; ++i) + for (i = 0; i < cur; ++i) new_gl_pathv[pglob->gl_offs + pglob->gl_pathc++] = names->name[i]; names = names->next;