summaryrefslogtreecommitdiff
path: root/lib/ftw.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2003-01-23 20:12:08 +0000
committerJim Meyering <jim@meyering.net>2003-01-23 20:12:08 +0000
commit0eb62f18b3ad291714e6cefb1ed2a216f1a0d830 (patch)
tree2ffe97f8f9a0eb979209c382f519baabed404fbe /lib/ftw.c
parent4d80abb25ae546a87a43a5eca1f7bbfc2155e4fc (diff)
downloadcoreutils-0eb62f18b3ad291714e6cefb1ed2a216f1a0d830.tar.xz
Add autoconf-recommended block of alloca-related code.
[!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd.
Diffstat (limited to 'lib/ftw.c')
-rw-r--r--lib/ftw.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/ftw.c b/lib/ftw.c
index 78daf8a59..ef1e2a9d1 100644
--- a/lib/ftw.c
+++ b/lib/ftw.c
@@ -22,6 +22,20 @@
# include <config.h>
#endif
+#if __GNUC__
+# define alloca __builtin_alloca
+#else
+# if HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ # pragma alloca
+# else
+char *alloca ();
+# endif
+# endif
+#endif
+
#if defined _LIBC
# include <dirent.h>
# define NAMLEN(dirent) _D_EXACT_NAMLEN(dirent)
@@ -78,8 +92,6 @@ char *stpcpy ();
# define __closedir closedir
# undef __fchdir
# define __fchdir fchdir
-# undef __getcwd
-# define __getcwd getcwd
# undef __opendir
# define __opendir opendir
# undef __readdir64
@@ -102,6 +114,12 @@ char *stpcpy ();
# define MAX(a, b) ((a) > (b) ? (a) : (b))
#endif
+#ifndef _LIBC
+# undef __getcwd
+# define __getcwd(P, N) xgetcwd ()
+extern char *xgetcwd (void);
+#endif
+
#ifndef __set_errno
# define __set_errno(Val) errno = (Val)
#endif