[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
setenv on OSF/1
From: |
Bruno Haible |
Subject: |
setenv on OSF/1 |
Date: |
Sun, 19 Dec 2010 18:09:03 +0100 |
User-agent: |
KMail/1.9.9 |
On new verisons of OSF/1 5.1, setenv() is not declared by default. It's
only declared if _BSD is defined, but defining it has also some negative
consequences. Consequence: This error:
../gllib/stdlib.h:907: error: 'setenv' was not declared in this scope
../gllib/stdlib.h:907: error: invalid type in declaration before ';' token
This fixes it.
2010-12-19 Bruno Haible <address@hidden>
setenv: Add missing declaration on OSF/1 5.1.
* lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
declared. Don't set HAVE_SETENV.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
not HAVE_SETENV.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
HAVE_SETENV.
* doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
--- doc/posix-functions/setenv.texi.orig Sun Dec 19 17:36:35 2010
+++ doc/posix-functions/setenv.texi Sun Dec 19 17:17:01 2010
@@ -12,6 +12,9 @@
This function is missing on some platforms:
AIX 4.3.2, HP-UX 11.23, IRIX 6.5, Solaris 9, mingw, BeOS.
@item
+This function is not declared on some platforms:
+OSF/1 5.1.
address@hidden
On some platforms, this function does not fail with @samp{EINVAL} when
passed an empty string or a string containing @samp{=}:
MacOS X 10.5, FreeBSD 6.0, NetBSD 1.6, OpenBSD 3.8, Cygwin 1.5.x.
--- lib/stdlib.in.h.orig Sun Dec 19 17:36:35 2010
+++ lib/stdlib.in.h Sun Dec 19 17:33:18 2010
@@ -584,7 +584,7 @@
_GL_CXXALIAS_RPL (setenv, int,
(const char *name, const char *value, int replace));
# else
-# if address@hidden@
+# if address@hidden@
_GL_FUNCDECL_SYS (setenv, int,
(const char *name, const char *value, int replace)
_GL_ARG_NONNULL ((1)));
@@ -592,7 +592,9 @@
_GL_CXXALIAS_SYS (setenv, int,
(const char *name, const char *value, int replace));
# endif
+# if !(@REPLACE_SETENV@ && address@hidden@)
_GL_CXXALIASWARN (setenv);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef setenv
# if HAVE_RAW_DECL_SETENV
--- m4/setenv.m4.orig Sun Dec 19 17:36:35 2010
+++ m4/setenv.m4 Sun Dec 19 17:18:52 2010
@@ -16,10 +16,12 @@
AC_DEFUN([gl_FUNC_SETENV_SEPARATE],
[
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_CHECK_DECLS_ONCE([setenv])
+ if test $ac_cv_have_decl_setenv = no; then
+ HAVE_DECL_SETENV=0
+ fi
AC_CHECK_FUNCS_ONCE([setenv])
- if test $ac_cv_func_setenv = no; then
- HAVE_SETENV=0
- else
+ if test $ac_cv_func_setenv = yes; then
AC_CACHE_CHECK([whether setenv validates arguments],
[gl_cv_func_setenv_works],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[
--- m4/stdlib_h.m4.orig Sun Dec 19 17:36:35 2010
+++ m4/stdlib_h.m4 Sun Dec 19 17:17:22 2010
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 31
+# stdlib_h.m4 serial 32
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -92,7 +92,7 @@
HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
- HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
+ HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV])
HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL])
--- modules/stdlib.orig Sun Dec 19 17:36:35 2010
+++ modules/stdlib Sun Dec 19 17:16:57 2010
@@ -71,7 +71,7 @@
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
-e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
- -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \
+ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
-e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
-e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
-e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- setenv on OSF/1,
Bruno Haible <=