X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=libiberty%2Fsetenv.c;h=82bf1b83600fae86c7f9eee99fffaf7bfc157ef3;hb=5f8989944880cad1bfffab3801214a0a9b67b72e;hp=79e38ed56b0026902d7186f7e767023004d512e6;hpb=56056af5183cab49805bcf8f3cb969df66ffff2a;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/setenv.c b/libiberty/setenv.c index 79e38ed56b..82bf1b8360 100644 --- a/libiberty/setenv.c +++ b/libiberty/setenv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992-2020 Free Software Foundation, Inc. This file based on setenv.c in the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -13,13 +13,14 @@ You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, + Boston, MA 02110-1301, USA. */ /* -@deftypefn Supplemental int setenv (const char *@var{name}, const char *@var{value}, int @var{overwrite}) +@deftypefn Supplemental int setenv (const char *@var{name}, @ + const char *@var{value}, int @var{overwrite}) @deftypefnx Supplemental void unsetenv (const char *@var{name}) @code{setenv} adds @var{name} to the environment with value @@ -36,6 +37,9 @@ environment. This implementation is not safe for multithreaded code. # include #endif +#define setenv libiberty_setenv +#define unsetenv libiberty_unsetenv + #include "ansidecl.h" #include /* For `size_t' */ #include /* For `NULL' */ @@ -57,9 +61,10 @@ extern int errno; #endif #define __environ environ -#ifndef HAVE_ENVIRON_DECL -extern char **environ; -#endif +#include "environ.h" + +#undef setenv +#undef unsetenv /* LOCK and UNLOCK are defined as no-ops. This makes the libiberty * implementation MT-Unsafe. */ @@ -74,10 +79,7 @@ static char **last_environ; int -setenv (name, value, replace) - const char *name; - const char *value; - int replace; +setenv (const char *name, const char *value, int replace) { register char **ep = 0; register size_t size; @@ -112,7 +114,7 @@ setenv (name, value, replace) return -1; } - new_environ[size] = malloc (namelen + 1 + vallen); + new_environ[size] = (char *) malloc (namelen + 1 + vallen); if (new_environ[size] == NULL) { free ((char *) new_environ); @@ -139,13 +141,13 @@ setenv (name, value, replace) if (len + 1 < namelen + 1 + vallen) { /* The existing string is too short; malloc a new one. */ - char *new = malloc (namelen + 1 + vallen); - if (new == NULL) + char *new_string = (char *) malloc (namelen + 1 + vallen); + if (new_string == NULL) { UNLOCK; return -1; } - *ep = new; + *ep = new_string; } memcpy (*ep, name, namelen); (*ep)[namelen] = '='; @@ -158,8 +160,7 @@ setenv (name, value, replace) } void -unsetenv (name) - const char *name; +unsetenv (const char *name) { const size_t len = strlen (name); char **ep;