*** empty log message ***
authorJim Meyering <jim@meyering.net>
Mon, 3 Sep 2001 07:43:54 +0000 (07:43 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 3 Sep 2001 07:43:54 +0000 (07:43 +0000)
lib/ChangeLog
m4/ChangeLog
m4/getcwd.m4 [new file with mode: 0644]

index b5031729b70cdb18b1d252c3b1d7347200cb7b50..82eb8f041f5747c7a2f3b8bcb433f636a8b106bc 100644 (file)
@@ -1,3 +1,8 @@
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
+       __GLIBC__ && __GLIBC__ >= 2), to decide whether to use getcwd (NULL, 0).
+
 2001-09-02  Jim Meyering  <meyering@lucent.com>
 
        * error.c: Update from GNU libc.
index 0cbfa7909dc298d4bfd2d872e8669d7c1687e37e..60be039ed125e4a2ea892bc18d0af63dbf3d31ac 100644 (file)
@@ -1,3 +1,10 @@
+2001-09-03  Paul Eggert  <eggert@twinsun.com>
+
+       * prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
+       (jm_PREREQ_XGETCWD): New macro.
+
+       * getcwd.m4: New file.
+
 2001-09-01  Jim Meyering  <meyering@lucent.com>
 
        * jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
diff --git a/m4/getcwd.m4 b/m4/getcwd.m4
new file mode 100644 (file)
index 0000000..1e1b80e
--- /dev/null
@@ -0,0 +1,53 @@
+# getcwd.m4 - check whether getcwd (NULL, 0) allocates memory for result
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+# Written by Paul Eggert.
+
+AC_DEFUN([AC_FUNC_GETCWD_NULL],
+  [AC_CHECK_HEADERS(stdlib.h unistd.h)
+   AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
+     [ac_cv_func_getcwd_null],
+     [AC_TRY_RUN(
+        [
+#       ifdef HAVE_STDLIB_H
+#        include <stdlib.h>
+#       endif
+#       ifdef HAVE_UNISTD_H
+#        include <unistd.h>
+#       endif
+#       ifndef getcwd
+        char *getcwd ();
+#       endif
+        int
+        main ()
+        {
+          if (chdir ("/") != 0)
+            exit (1);
+          else
+            {
+              char *f = getcwd (NULL, 0);
+              exit (! (f && f[0] == '/' && !f[1]));
+            }
+        }],
+       [ac_cv_func_getcwd_null=yes],
+       [ac_cv_func_getcwd_null=no],
+       [ac_cv_func_getcwd_null=no])])
+   if test $ac_cv_func_getcwd_null = yes; then
+     AC_DEFINE(HAVE_GETCWD_NULL, 1,
+              [Define if getcwd (NULL, 0) allocates memory for result.])
+   fi])