Przeglądaj źródła

Initial revision

Paul Eggert 23 lat temu
rodzic
commit
2761c42ade
1 zmienionych plików z 53 dodań i 0 usunięć
  1. 53 0
      m4/getcwd.m4

+ 53 - 0
m4/getcwd.m4

@@ -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])