Derek Price <[EMAIL PROTECTED]> writes:
> /* Enable GNU extensions in glob.h. */
> -#ifndef _GNU_SOURCE
> +#if defined _LIBC && !defined _GNU_SOURCE
> # define _GNU_SOURCE 1
> #endif
I just checked the glibc source file include/libc-symbols.h, and it
defines both _LIBC and _GNU_SOURCE. So this stuff isn't needed at
all; please remove these lines from glob.c instead.
> + HAVE_STRUCT_DIRENT_D_TYPE is defined by GNULIB's glob.m4 when the same
> + member is found. */
A bit wordy; please rephrase to "HAVE_STRUCT_DIRENT_D_TYPE plays the
same rule in gnulib."
> - qsort ((__ptr_t) &pglob->gl_pathv[oldcount],
> + qsort ((void *) &pglob->gl_pathv[oldcount],
You can remove the cast entirely, right?
> - free ((__ptr_t) pglob->gl_pathv[pglob->gl_offs + i]);
> - free ((__ptr_t) pglob->gl_pathv);
> + free ((void *) pglob->gl_pathv[pglob->gl_offs + i]);
> + free ((void *) pglob->gl_pathv);
Similarly, these casts aren't needed.
- free ((__ptr_t) array[--i]);
+ free ((void *) array[--i]);
Nor these.
> - free ((__ptr_t) array[--i]);
> + free ((void *) array[--i]);
Nor this one.
> + p = mempcpy ((void *) new->name, name, len);
Nor this one.
> - free ((__ptr_t) names->name);
> + free ((void *) names->name);
Nor this.
> - return (((flags & GLOB_ALTDIRFUNC)
> - ? (*pglob->gl_stat) (fullname, &st)
> - : __stat64 (fullname, &st64)) == 0);
> + return ((flags & GLOB_ALTDIRFUNC)
> + ? (*pglob->gl_stat) (fullname, &st) == 0 && S_ISDIR (st.st_mode)
> + : __stat64 (fullname, &st64) == 0 && S_ISDIR (st64.st_mode));
As long as you're reparenthesizing you might as well get rid of
the unnecessary ones around (flags & GLOB_ALTDIRFUNC).
> + new->name = malloc (len + 1
> + + ((flags & GLOB_MARK) && isdir));
This line is 80 columns; should probably shrink it to 78, e.g., via.
new->name =
malloc (...);
glob.c is looking pretty good now. I gotta run now, but I'll look at
glob.h later today I hope.
_______________________________________________
Bug-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-cvs