Tue Aug 12 10:52:34 1997  Paul D. Smith  <psmith@baynetworks.com>

	* configure.in: Require autoconf 2.12.

	* glob: Updates from latest GNU libc glob code.

	* glob.c,glob.h,fnmatch.h: Change all WIN32 references to WINDOWS32.

	* glob.h: OSF4 defines macros in such a way that GLOB_ALTDIRFUNC
	is not defined.  Added a test to the #if which defines it if
	_GNU_SOURCE is defined; that's set by both glob.c and GNU make.

	* glob.c: SunOS4 w/ cc needs #include <stdio.h>, since assert.h
	requires stderr but doesn't include stdio.h :-/.
	(next_brace_sub): De-protoize function definition.
	(glob): Cast __alloca(); on SunOS4 it uses the default return type
	of int.
	(glob): Irix defines getlogin_r() to return a char*; move the
	extern for that into the _LIBC area since it isn't used except in
	LIBC anyway.  Likewise, move extern getlogin() into the "else".

Sat Jul 20 21:55:31 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	Win32 hacks from <Rob_Tulloh@tivoli.com>.
	* posix/glob.c [WIN32]: Don't include <pwd.h>; don't use d_ino;
	use void * for my_realloc; include <malloc.h> for alloca.
	(glob) [WIN32]: Use "c:/users/default" for ~ if no HOME variable.
	* posix/fnmatch.h [WIN32]: Use prototypes even if [!__STDC__].
	* posix/glob.h: Likewise.

Fri Jul 19 16:56:41 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* posix/glob.h [!_AMIGA && !VMS]: Check this instead of just [!_AMIGA]
	for `struct stat;' forward decl.

Sat Jun 22 10:44:09 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* posix/glob.c: Include <alloca.h> only [HAVE_ALLOCA_H], not [sparc].

Fri Jun 21 00:27:51 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr
 	only for ?s, not for *s.  Fix from Chet Ramey.

