X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fgetcwd.m4;h=ea10fb66a9527b2b8c532bfe941655b48e32d002;hb=82afcdd;hp=4b8c4c6ce1001d4b3c9139842728daca4da7ead0;hpb=e2b8816f0465fa211eb5b49ecbeb78e9c3cc46b8;p=gnulib.git diff --git a/m4/getcwd.m4 b/m4/getcwd.m4 index 4b8c4c6ce..ea10fb66a 100644 --- a/m4/getcwd.m4 +++ b/m4/getcwd.m4 @@ -1,39 +1,45 @@ # getcwd.m4 - check for working getcwd that is compatible with glibc -# Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007, 2009 Free Software +# Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. -# serial 2 +# serial 3 AC_DEFUN([gl_FUNC_GETCWD_NULL], [ AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result], [gl_cv_func_getcwd_null], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -# include -# ifndef getcwd - char *getcwd (); -# endif +# include +# ifndef getcwd + char *getcwd (); +# endif ]], [[ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* mingw cwd does not start with '/', but getcwd does allocate. */ #else - if (chdir ("/") != 0) - return 1; - else - { - char *f = getcwd (NULL, 0); - return ! (f && f[0] == '/' && !f[1]); - } + if (chdir ("/") != 0) + return 1; + else + { + char *f = getcwd (NULL, 0); + if (! f) + return 2; + if (f[0] != '/') + return 3; + if (f[1] != '\0') + return 4; + return 0; + } #endif - ]])], - [gl_cv_func_getcwd_null=yes], - [gl_cv_func_getcwd_null=no], - [[ + ]])], + [gl_cv_func_getcwd_null=yes], + [gl_cv_func_getcwd_null=no], + [[ case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_getcwd_null="guessing yes";; @@ -44,7 +50,7 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL], # If we don't know, assume the worst. *) gl_cv_func_getcwd_null="guessing no";; esac - ]])]) + ]])]) ]) AC_DEFUN([gl_FUNC_GETCWD],