OSDN Git Service

* Makefile.def: check-gold depends upon all-gas.
[pf3gnuchains/gcc-fork.git] / libiberty / putenv.c
index 1860676..248f50e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1994, 1995, 1996, 2002 Free Software Foundation, Inc.
    This file based on putenv.c in the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 
    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 putenv (const char *@var{string})
+
+Uses @code{setenv} or @code{unsetenv} to put @var{string} into
+the environment or remove it.  If @var{string} is of the form
+@samp{name=value} the string is added; if no @samp{=} is present the
+name is unset/removed.
+
+@end deftypefn
+
+*/
 
 #if defined (_AIX) && !defined (__GNUC__)
  #pragma alloca
 # include <config.h>
 #endif
 
+#include "ansidecl.h"
+
+#define putenv libiberty_putenv
+
 #if HAVE_STDLIB_H
 # include <stdlib.h>
 #endif
@@ -43,19 +60,20 @@ extern char *alloca ();
 # endif /* alloca */
 #endif /* HAVE_ALLOCA_H */
 
+#undef putenv
+
 /* Below this point, it's verbatim code from the glibc-2.0 implementation */
 
 
 /* Put STRING, which is of the form "NAME=VALUE", in the environment.  */
 int
-putenv (string)
-     const char *string;
+putenv (const char *string)
 {
   const char *const name_end = strchr (string, '=');
 
   if (name_end)
     {
-      char *name = alloca (name_end - string + 1);
+      char *name = (char *) alloca (name_end - string + 1);
       memcpy (name, string, name_end - string);
       name[name_end - string] = '\0';
       return setenv (name, name_end + 1, 1);