1/* Setting environment variables.
2   Copyright (C) 2001-2004 Free Software Foundation, Inc.
3
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU General Public License as published by
6   the Free Software Foundation; either version 2, or (at your option)
7   any later version.
8
9   This program is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12   GNU General Public License for more details.
13
14   You should have received a copy of the GNU General Public License
15   along with this program; if not, write to the Free Software Foundation,
16   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
17
18#if HAVE_SETENV || HAVE_UNSETENV
19
20/* Get setenv(), unsetenv() declarations.  */
21# include <stdlib.h>
22
23#endif
24
25#ifdef	__cplusplus
26extern "C" {
27#endif
28
29#if !HAVE_SETENV
30
31/* Set NAME to VALUE in the environment.
32   If REPLACE is nonzero, overwrite an existing value.  */
33extern int setenv (const char *name, const char *value, int replace);
34
35#endif
36
37#if HAVE_UNSETENV
38
39# if VOID_UNSETENV
40/* On some systems, unsetenv() returns void.
41   This is the case for FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4.  */
42#  define unsetenv(name) ((unsetenv)(name), 0)
43# endif
44
45#else
46
47/* Remove the variable NAME from the environment.  */
48extern int unsetenv (const char *name);
49
50#endif
51
52#ifdef	__cplusplus
53}
54#endif
55