From ed30638ace1966555acc08568500709df99beafc Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 21 Jul 1996 01:55:51 +0000 Subject: Sat Jul 20 21:55:31 1996 Roland McGrath Win32 hacks from . * posix/glob.c [WIN32]: Don't include ; don't use d_ino; use void * for my_realloc; include 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. --- posix/fnmatch.h | 3 ++- posix/glob.c | 22 ++++++++++++++++++++-- posix/glob.h | 3 ++- 3 files changed, 24 insertions(+), 4 deletions(-) (limited to 'posix') diff --git a/posix/fnmatch.h b/posix/fnmatch.h index d9d73b3..9a0036e 100644 --- a/posix/fnmatch.h +++ b/posix/fnmatch.h @@ -23,7 +23,8 @@ Cambridge, MA 02139, USA. */ extern "C" { #endif -#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) +#if (defined (__cplusplus) || (defined (__STDC__) && __STDC__) \ + || defined (WIN32)) #undef __P #define __P(protos) protos #else /* Not C++ or ANSI C. */ diff --git a/posix/glob.c b/posix/glob.c index d6635fc..76060e1 100644 --- a/posix/glob.c +++ b/posix/glob.c @@ -65,7 +65,7 @@ Cambridge, MA 02139, USA. */ #endif #endif -#if !defined (_AMIGA) && !defined (VMS) +#if !defined (_AMIGA) && !defined (VMS) && !defined(WIN32) #include #endif @@ -106,7 +106,7 @@ extern int errno; #endif -#if defined (POSIX) && !defined (__GNU_LIBRARY__) +#if (defined (POSIX) || defined (WIN32)) && !defined (__GNU_LIBRARY__) /* Posix does not require that the d_ino field be present, and some systems do not provide it. */ #define REAL_DIR_ENTRY(dp) 1 @@ -166,7 +166,11 @@ extern void bcopy (); __inline #endif #ifndef __SASC +#ifdef WIN32 +static void * +#else static char * +#endif my_realloc (p, n) char *p; unsigned int n; @@ -192,7 +196,11 @@ my_realloc (p, n) #include #else /* Not HAVE_ALLOCA_H. */ #ifndef _AIX +#ifdef WIN32 +#include +#else extern char *alloca (); +#endif /* WIN32 */ #endif /* Not _AIX. */ #endif /* sparc or HAVE_ALLOCA_H. */ #endif /* GCC. */ @@ -449,6 +457,10 @@ glob (pattern, flags, errfunc, pglob) if (dirname == NULL || dirname[0] == '\0') dirname = "SYS:"; #else +#ifdef WIN32 + if (dirname == NULL || dirname[0] == '\0') + dirname = "c:/users/default"; /* poor default */ +#else if (dirname == NULL || dirname[0] == '\0') { extern char *getlogin __P ((void)); @@ -462,6 +474,7 @@ glob (pattern, flags, errfunc, pglob) } if (dirname == NULL || dirname[0] == '\0') dirname = (char *) "~"; /* No luck. */ +#endif /* WIN32 */ #endif } else @@ -470,10 +483,15 @@ glob (pattern, flags, errfunc, pglob) if (dirname == NULL || dirname[0] == '\0') dirname = "SYS:"; #else +#ifdef WIN32 + if (dirname == NULL || dirname[0] == '\0') + dirname = "c:/users/default"; /* poor default */ +#else /* Look up specific user's home directory. */ struct passwd *p = getpwnam (dirname + 1); if (p != NULL) dirname = p->pw_dir; +#endif /* WIN32 */ #endif } } diff --git a/posix/glob.h b/posix/glob.h index ba24d89..571bd5e 100644 --- a/posix/glob.h +++ b/posix/glob.h @@ -25,7 +25,8 @@ extern "C" #endif #undef __ptr_t -#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) +#if (defined (__cplusplus) || (defined (__STDC__) && __STDC__) \ + || defined (WIN32)) #undef __P #define __P(protos) protos #define __ptr_t void * -- cgit v1.1