OSDN Git Service

Add -mdynamic-no-pic to compile flags for gcc. On Mac OS X and Darwin,
[pf3gnuchains/gcc-fork.git] / libiberty / putenv.c
index 1860676..6d027dc 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
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, 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
 #endif
 # include <config.h>
 #endif
 
+#include "ansidecl.h"
+
+#define putenv libiberty_putenv
+
 #if HAVE_STDLIB_H
 # include <stdlib.h>
 #endif
@@ -43,6 +60,8 @@ extern char *alloca ();
 # endif /* alloca */
 #endif /* HAVE_ALLOCA_H */
 
+#undef putenv
+
 /* Below this point, it's verbatim code from the glibc-2.0 implementation */
 
 
@@ -55,7 +74,7 @@ putenv (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);