Updated from libc

This commit is contained in:
Roland McGrath 1996-05-13 23:16:23 +00:00
parent 44811ac351
commit 78f280d541
2 changed files with 31 additions and 3 deletions

View File

@ -1,3 +1,9 @@
Mon May 13 12:03:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/glob.c [_AMIGA]: Don't include <pwd.h>.
(glob): Remove bogus & in call to globfree.
[_AMIGA]: Use AmigaDOS file name conventions.
Thu May 9 09:17:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> Thu May 9 09:17:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/glob/SMakefile, posix/glob/SCOPTIONS, posix/glob/Makefile.ami: * posix/glob/SMakefile, posix/glob/SCOPTIONS, posix/glob/Makefile.ami:

View File

@ -65,7 +65,9 @@ Cambridge, MA 02139, USA. */
#endif #endif
#endif #endif
#ifndef _AMIGA
#include <pwd.h> #include <pwd.h>
#endif
#if !defined(__GNU_LIBRARY__) && !defined(STDC_HEADERS) #if !defined(__GNU_LIBRARY__) && !defined(STDC_HEADERS)
extern int errno; extern int errno;
@ -160,6 +162,7 @@ extern void bcopy ();
#ifdef __GNUC__ #ifdef __GNUC__
__inline __inline
#endif #endif
#ifndef __SASC
static char * static char *
my_realloc (p, n) my_realloc (p, n)
char *p; char *p;
@ -172,7 +175,8 @@ my_realloc (p, n)
return (char *) realloc (p, n); return (char *) realloc (p, n);
} }
#define realloc my_realloc #define realloc my_realloc
#endif #endif /* __SASC */
#endif /* __GNU_LIBRARY__ */
#if !defined(__alloca) && !defined(__GNU_LIBRARY__) #if !defined(__alloca) && !defined(__GNU_LIBRARY__)
@ -332,7 +336,7 @@ glob (pattern, flags, errfunc, pglob)
if (onealt == NULL) if (onealt == NULL)
{ {
if (!(flags & GLOB_APPEND)) if (!(flags & GLOB_APPEND))
globfree (&pglob); globfree (pglob);
return GLOB_NOSPACE; return GLOB_NOSPACE;
} }
#endif #endif
@ -391,7 +395,11 @@ glob (pattern, flags, errfunc, pglob)
if (filename == NULL) if (filename == NULL)
{ {
filename = pattern; filename = pattern;
#ifdef _AMIGA
dirname = (char *) "";
#else
dirname = (char *) "."; dirname = (char *) ".";
#endif
dirlen = 0; dirlen = 0;
} }
else if (filename == pattern) else if (filename == pattern)
@ -433,6 +441,10 @@ glob (pattern, flags, errfunc, pglob)
{ {
/* Look up home directory. */ /* Look up home directory. */
dirname = getenv ("HOME"); dirname = getenv ("HOME");
#ifdef _AMIGA
if (dirname == NULL || dirname[0] == '\0')
dirname = "SYS:";
#else
if (dirname == NULL || dirname[0] == '\0') if (dirname == NULL || dirname[0] == '\0')
{ {
extern char *getlogin __P ((void)); extern char *getlogin __P ((void));
@ -446,13 +458,19 @@ glob (pattern, flags, errfunc, pglob)
} }
if (dirname == NULL || dirname[0] == '\0') if (dirname == NULL || dirname[0] == '\0')
dirname = (char *) "~"; /* No luck. */ dirname = (char *) "~"; /* No luck. */
#endif
} }
else else
{ {
#ifdef _AMIGA
if (dirname == NULL || dirname[0] == '\0')
dirname = "SYS:";
#else
/* Look up specific user's home directory. */ /* Look up specific user's home directory. */
struct passwd *p = getpwnam (dirname + 1); struct passwd *p = getpwnam (dirname + 1);
if (p != NULL) if (p != NULL)
dirname = p->pw_dir; dirname = p->pw_dir;
#endif
} }
} }
@ -774,7 +792,11 @@ glob_in_dir (pattern, directory, flags, errfunc, pglob)
if (fnmatch (pattern, name, if (fnmatch (pattern, name,
(!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) | (!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0) |
((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)) == 0) ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0)
#ifdef _AMIGA
| FNM_CASEFOLD
#endif
) == 0)
{ {
struct globlink *new struct globlink *new
= (struct globlink *) __alloca (sizeof (struct globlink)); = (struct globlink *) __alloca (sizeof (struct globlink));