- (dtucker) [configure.ac includes.h] Bug #947: Fix compile error on HP-UX
   10.x by testing for conflicts in shadow.h and undef'ing _INCLUDE__STDC__
   only if a conflict is detected.
diff --git a/ChangeLog b/ChangeLog
index 9b5725d..b3065e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+20041102
+ - (dtucker) [configure.ac includes.h] Bug #947: Fix compile error on HP-UX
+   10.x by testing for conflicts in shadow.h and undef'ing _INCLUDE__STDC__
+   only if a conflict is detected.
+
 20041019
  - (dtucker) [uidswap.c] Don't test dropping of gids for the root user or
    on Cygwin.  Cygwin parts from vinschen at redhat com; ok djm@
@@ -1771,4 +1776,4 @@
    - (djm) Trim deprecated options from INSTALL. Mention UsePAM
    - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
 
-$Id: ChangeLog,v 1.3561 2004/10/19 06:33:33 dtucker Exp $
+$Id: ChangeLog,v 1.3562 2004/11/02 09:30:54 dtucker Exp $
diff --git a/configure.ac b/configure.ac
index e8bee9d..b8f9700 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-# $Id: configure.ac,v 1.231 2004/09/30 11:17:08 dtucker Exp $
+# $Id: configure.ac,v 1.232 2004/11/02 09:30:54 dtucker Exp $
 #
 # Copyright (c) 1999-2004 Damien Miller
 #
@@ -220,6 +220,7 @@
 	AC_DEFINE(LOCKED_PASSWD_STRING, "*")
 	AC_DEFINE(SPT_TYPE,SPT_PSTAT)
 	check_for_hpux_broken_getaddrinfo=1
+	check_for_conflicting_getspnam=1
 	LIBS="$LIBS -lsec"
 	AC_CHECK_LIB(xnet, t_error, ,AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***]))
 	;;
@@ -1123,6 +1124,24 @@
 	)
 fi
 
+if test "x$check_for_conflicting_getspnam" = "x1"; then
+	AC_MSG_CHECKING(for conflicting getspnam in shadow.h)
+	AC_COMPILE_IFELSE(
+		[
+#include <shadow.h>
+int main(void) {exit(0);}
+		],
+		[
+			AC_MSG_RESULT(no)
+		],
+		[
+			AC_MSG_RESULT(yes)
+			AC_DEFINE(GETSPNAM_CONFLICTING_DEFS, 1,
+			    [Conflicting defs for getspnam])
+		]
+	)
+fi
+
 AC_FUNC_GETPGRP
 
 # Check for PAM libs
diff --git a/includes.h b/includes.h
index 3a6b4c3..3d3aa3b 100644
--- a/includes.h
+++ b/includes.h
@@ -185,7 +185,7 @@
  * On HP-UX 11.11, shadow.h and prot.h provide conflicting declarations
  * of getspnam when _INCLUDE__STDC__ is defined, so we unset it here.
  */
-#ifdef __hpux
+#ifdef GETSPNAM_CONFLICTING_DEFS
 # ifdef _INCLUDE__STDC__
 #  undef _INCLUDE__STDC__
 # endif