]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Test for existence of strerror.
authorMark Adler <madler@alumni.caltech.edu>
Sat, 18 Feb 2012 21:55:09 +0000 (13:55 -0800)
committerMark Adler <madler@alumni.caltech.edu>
Sat, 18 Feb 2012 21:55:09 +0000 (13:55 -0800)
SunOS 4.1 claims that it is __STDC__, but it does not have strerror
in string.h.  Instead of using __STDC__, this puts a direct test
for strerror in configure, and uses that information in gzguts.h.

configure
gzguts.h

index 060acb72404a7b07b80f1c4c587087c545ee2246..52a50fb49cb7df3b64b891b092510b90f99851d7 100755 (executable)
--- a/configure
+++ b/configure
@@ -367,6 +367,21 @@ EOF
   fi
 fi
 
+echo >> configure.log
+
+cat > $test.c <<EOF
+#include <string.h>
+#include <errno.h>
+int main() { return strlen(strerror(errno)); }
+EOF
+if try $CC $CFLAGS -o $test $test.c; then
+  echo "Checking for strerror... Yes." | tee -a configure.log
+else
+  CFLAGS="${CFLAGS} -DNO_STRERROR"
+  SFLAGS="${SFLAGS} -DNO_STRERROR"
+  echo "Checking for strerror... No." | tee -a configure.log
+fi
+
 cp -p zconf.h.in zconf.h
 
 echo >> configure.log
@@ -435,7 +450,6 @@ int main()
   return 0;
 }
 EOF
-
 if try $CC -c $CFLAGS $test.c; then
   echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." | tee -a configure.log
 
index f8dd9adfc73d575f41cefe7010029fa931373a8b..f16295064ebdd9778e0e7c61500467ea9ddf2435 100644 (file)
--- a/gzguts.h
+++ b/gzguts.h
 #  include <windows.h>
 #  define zstrerror() gz_strwinerror((DWORD)GetLastError())
 #else
-#  ifdef STDC
+#  ifndef NO_STRERROR
 #    include <errno.h>
 #    define zstrerror() strerror(errno)
 #  else