Mercurial > hg > octave-nkf > gnulib-hg
changeset 5381:20b173a370ec
Provide a return value for unsetenv() if the system doesn't.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Tue, 02 Nov 2004 12:29:39 +0000 |
parents | 9cd2693d18a3 |
children | 72833e3704a0 |
files | lib/ChangeLog lib/setenv.h m4/ChangeLog m4/setenv.m4 |
diffstat | 4 files changed, 38 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2004-11-02 Bruno Haible <bruno@clisp.org> + + * setenv.h (unsetenv): Define as a macro if the system's unsetenv() + function returns void. + 2004-11-01 Paul Eggert <eggert@cs.ucla.edu> * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
--- a/lib/setenv.h +++ b/lib/setenv.h @@ -1,5 +1,5 @@ /* Setting environment variables. - Copyright (C) 2001-2003 Free Software Foundation, Inc. + Copyright (C) 2001-2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,7 +34,15 @@ #endif -#if !HAVE_UNSETENV +#if HAVE_UNSETENV + +# if VOID_UNSETENV +/* On some systems, unsetenv() returns void. + This is the case for FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */ +# define unsetenv(name) ((unsetenv)(name), 0) +# endif + +#else /* Remove the variable NAME from the environment. */ extern int unsetenv (const char *name);
--- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,8 @@ +2004-11-02 Bruno Haible <bruno@clisp.org> + + * setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv() + returns void. + 2004-11-01 Paul Eggert <eggert@cs.ucla.edu> * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
--- a/m4/setenv.m4 +++ b/m4/setenv.m4 @@ -1,5 +1,5 @@ -# setenv.m4 serial 4 -dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +# setenv.m4 serial 5 +dnl Copyright (C) 2001-2004 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program @@ -14,6 +14,22 @@ fi if test $ac_cv_func_unsetenv = no; then gl_PREREQ_UNSETENV + else + AC_CACHE_CHECK([for unsetenv() return type], gt_cv_func_unsetenv_ret, + [AC_TRY_COMPILE([#include <stdlib.h> +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +int unsetenv (const char *name); +#else +int unsetenv(); +#endif +], , gt_cv_func_unsetenv_ret='int', gt_cv_func_unsetenv_ret='void')]) + if test $gt_cv_func_unsetenv_ret = 'void'; then + AC_DEFINE(VOID_UNSETENV, 1, [Define if unsetenv() returns void, not int.]) + fi fi ])