--- configure.in.DIST 2006-10-31 21:39:07.010473000 -0800 +++ configure.in 2006-10-31 21:43:05.630162000 -0800 @@ -1211,15 +1211,32 @@ AC_HEADER_DIRENT AC_MSG_CHECKING(for setenv) -AH_TEMPLATE([USESETENV], [If your system has setenv() and unsetenv() define USESETENV]) -AC_TRY_LINK(,[setenv((char *)0,(char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes);AC_DEFINE(USESETENV), -AC_MSG_RESULT(no) -AC_MSG_CHECKING(for putenv) -AH_TEMPLATE([NEEDPUTENV], -[If your system does not come with a setenv()/putenv()/getenv() - functions, you may bring in our own code by defining NEEDPUTENV.]) -AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV) -)) +if test -z "$ac_setenv_args"; then + AC_TRY_LINK( + [#include ], + [ + setenv((char *) 0, (char *) 0, 0); + ], ac_setenv_args=3) +fi +if test -z "$ac_setenv_args"; then + AC_TRY_LINK( + [#include ], + [ + setenv((char *) 0, (char *) 0); + ], ac_setenv_args=2) +fi +if test -n "$ac_setenv_args"; then + AC_DEFINE(USESETENV) + if test "$ac_setenv_args" = 3; then + AC_DEFINE(HAVE_SETENV_3) + elif test "$ac_setenv_args" = 2; then + AC_DEFINE(HAVE_SETENV_2) + fi +else + AC_MSG_RESULT(no) + AC_MSG_CHECKING(for putenv) + AC_TRY_LINK(,[putenv((char *)0);unsetenv((char *)0);], AC_MSG_RESULT(yes) , AC_MSG_RESULT(no);AC_DEFINE(NEEDPUTENV)) +fi AC_MSG_CHECKING([for nl_langinfo(CODESET)]) AH_TEMPLATE([HAVE_NL_LANGINFO], [define HAVE_NL_LANGINFO if your system has the nl_langinfo() call --- config.h.in.DIST 2006-10-31 21:43:23.233714000 -0800 +++ config.h.in 2006-10-31 21:44:27.346275000 -0800 @@ -548,6 +548,16 @@ #undef USESETENV /* + * If setenv() takes 3 arguments define HAVE_SETENV_3 + */ +#undef HAVE_SETENV_3 + +/* + * If setenv() takes 2 arguments define HAVE_SETENV_2 + */ +#undef HAVE_SETENV_2 + +/* * If your system does not come with a setenv()/putenv()/getenv() * functions, you may bring in our own code by defining NEEDPUTENV. */ --- misc.c.DIST 2006-10-31 20:55:42.481760000 -0800 +++ misc.c 2006-10-31 21:53:24.143551000 -0800 @@ -613,11 +613,11 @@ */ # endif /* NEEDSETENV */ #else /* USESETENV */ -# if defined(linux) || defined(__convex__) || (BSD >= 199103) +# if HAVE_SETENV_3 setenv(var, value, 1); # else setenv(var, value); -# endif /* linux || convex || BSD >= 199103 */ +# endif /* HAVE_SETENV_3 */ #endif /* USESETENV */ }