From 3369a3e58c7e117a3da3326af959993c67128fa6 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 5 Mar 2003 09:05:38 +0000 Subject: . --- m4/Makefile.am | 2 +- m4/Makefile.in | 2 +- m4/getcwd-robust.m4 | 124 ---------------------------------------------------- 3 files changed, 2 insertions(+), 126 deletions(-) delete mode 100644 m4/getcwd-robust.m4 (limited to 'm4') diff --git a/m4/Makefile.am b/m4/Makefile.am index 9dc76b997..5e2c6f052 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -23,7 +23,7 @@ fstypename.m4 \ fsusage.m4 \ ftruncate.m4 \ ftw.m4 \ -getcwd-robust.m4 \ +getcwd-path-max.m4 \ getcwd.m4 \ getgroups.m4 \ getline.m4 \ diff --git a/m4/Makefile.in b/m4/Makefile.in index d5ac19cb4..e77ac7432 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -170,7 +170,7 @@ fstypename.m4 \ fsusage.m4 \ ftruncate.m4 \ ftw.m4 \ -getcwd-robust.m4 \ +getcwd-path-max.m4 \ getcwd.m4 \ getgroups.m4 \ getline.m4 \ diff --git a/m4/getcwd-robust.m4 b/m4/getcwd-robust.m4 deleted file mode 100644 index e91fa64f5..000000000 --- a/m4/getcwd-robust.m4 +++ /dev/null @@ -1,124 +0,0 @@ -#serial 1 -# Check whether getcwd has the bug that it succeeds for a working directory -# longer than PATH_MAX, yet returns a truncated directory name. -# If so, arrange to compile the wrapper function. - -# This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20. -# I've heard that this is due to a Linux kernel bug, and that it has -# been fixed between 2.4.21-pre3 and 2.4.21-pre4. */ - -# From Jim Meyering - -AC_DEFUN([GL_FUNC_GETCWD_PATH_MAX], -[ - AC_CACHE_CHECK([whether getcwd properly handles paths longer than PATH_MAX], - utils_cv_func_getcwd_vs_path_max, - [ - # Arrange for deletion of the temporary directory this test creates. - ac_clean_files="$ac_clean_files confdir3" - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#include -#include -#include -#include -#include - -#ifndef CHAR_BIT -# define CHAR_BIT 8 -#endif - -/* The extra casts work around common compiler bugs. */ -#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) -/* The outer cast is needed to work around a bug in Cray C 5.0.3.0. - It is necessary at least when t == time_t. */ -#define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \ - ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0)) -#define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t))) - -#ifndef INT_MAX -# define INT_MAX TYPE_MAXIMUM (int) -#endif - -#ifndef PATH_MAX -/* There might be a better way to handle this case, but note: - - the value shouldn't be anywhere near INT_MAX, and - - the value shouldn't be so big that the local declaration, below, - blows the stack. */ -# define PATH_MAX 40000 -#endif - -/* The length of this name must be 8. */ -#define DIR_NAME "confdir3" - -int -main () -{ - /* The '9' comes from strlen (DIR_NAME) + 1. */ -#if INT_MAX - 9 <= PATH_MAX - /* FIXME: Assuming there's a system for which this is true -- Hurd?, - this should be done in a compile test. */ - exit (0); -#else - char buf[PATH_MAX + 20]; - char *cwd = getcwd (buf, PATH_MAX); - size_t cwd_len; - int fail = 0; - size_t n_chdirs = 0; - - if (cwd == NULL) - exit (1); - - cwd_len = strlen (cwd); - - while (1) - { - char *c; - size_t len; - - cwd_len += 1 + strlen (DIR_NAME); - /* If mkdir or chdir fails, be pessimistic and consider that - as a failure, too. */ - if (mkdir (DIR_NAME, 0700) < 0 - || chdir (DIR_NAME) < 0 - || ((c = getcwd (buf, PATH_MAX)) != NULL - && (len = strlen (c)) != cwd_len)) - { - fail = 1; - break; - } - ++n_chdirs; - if (PATH_MAX < len) - break; - } - - /* Leaving behind such a deep directory is not polite. - So clean up here, right away, even though the driving - shell script would also clean up. */ - { - size_t i; - - /* Unlink first, in case the chdir failed. */ - unlink (DIR_NAME); - for (i = 0; i <= n_chdirs; i++) - { - if (chdir ("..") < 0) - break; - rmdir (DIR_NAME); - } - } - - exit (fail); -#endif -} - ]])], - [utils_cv_func_getcwd_vs_path_max=yes], - [utils_cv_func_getcwd_vs_path_max=no], - [utils_cv_func_getcwd_vs_path_max=no])]) - - if test $utils_cv_func_getcwd_vs_path_max = yes; then - AC_LIBOBJ(getcwd) - AC_DEFINE(getcwd, rpl_getcwd, - [Define to rpl_getcwd if the wrapper function should be used.]) - fi -]) -- cgit v1.2.3-54-g00ecf