texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo ChangeLog gnulib/lib/Makefile.am gnulib...


From: Karl Berry
Subject: texinfo ChangeLog gnulib/lib/Makefile.am gnulib...
Date: Sat, 15 Oct 2011 15:11:38 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Karl Berry <karl>       11/10/15 15:11:37

Modified files:
        .              : ChangeLog 
        gnulib/lib     : Makefile.am 
        gnulib/m4      : gnulib-cache.m4 gnulib-comp.m4 
Removed files:
        gnulib/lib     : setenv.c unsetenv.c xsetenv.c xsetenv.h 
        gnulib/m4      : environ.m4 setenv.m4 

Log message:
        rm gnulib module xsetenv, only used in C makeinfo

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/ChangeLog?cvsroot=texinfo&r1=1.1265&r2=1.1266
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/lib/Makefile.am?cvsroot=texinfo&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/lib/setenv.c?cvsroot=texinfo&r1=1.11&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/lib/unsetenv.c?cvsroot=texinfo&r1=1.8&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/lib/xsetenv.c?cvsroot=texinfo&r1=1.8&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/lib/xsetenv.h?cvsroot=texinfo&r1=1.6&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/m4/gnulib-cache.m4?cvsroot=texinfo&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/m4/gnulib-comp.m4?cvsroot=texinfo&r1=1.43&r2=1.44
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/m4/environ.m4?cvsroot=texinfo&r1=1.6&r2=0
http://cvs.savannah.gnu.org/viewcvs/texinfo/gnulib/m4/setenv.m4?cvsroot=texinfo&r1=1.8&r2=0

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/texinfo/texinfo/ChangeLog,v
retrieving revision 1.1265
retrieving revision 1.1266
diff -u -b -r1.1265 -r1.1266
--- ChangeLog   15 Oct 2011 15:05:21 -0000      1.1265
+++ ChangeLog   15 Oct 2011 15:11:36 -0000      1.1266
@@ -1,7 +1,11 @@
 2011-10-15  Karl Berry  <address@hidden>
 
+       * system.h: rm decls for xmalloc, xrealloc, xstrdup.
+       rm old DMALLOC debugging stuff.
+
        * gnulib: switch from now-deprecated getopt to getopt-gnu,
        likewise strdup to strdup-posix.
+       rm gnulib module xsetenv, was only used in C makeinfo.
 
 2011-10-15  Patrice Dumas  <address@hidden>
 

Index: gnulib/lib/Makefile.am
===================================================================
RCS file: /sources/texinfo/texinfo/gnulib/lib/Makefile.am,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- gnulib/lib/Makefile.am      15 Oct 2011 15:05:22 -0000      1.47
+++ gnulib/lib/Makefile.am      15 Oct 2011 15:11:36 -0000      1.48
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu 
--source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests 
--aux-dir=build-aux --no-conditional-dependencies --no-libtool 
--macro-prefix=gl --no-vc-files argz getopt-gnu gettext mbchar mbiter 
mbscasecmp mbschr mbslen mbsncasecmp mbsstr mbswidth memmem mkstemp 
strdup-posix strerror xalloc xsetenv
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu 
--source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests 
--aux-dir=build-aux --no-conditional-dependencies --no-libtool 
--macro-prefix=gl --no-vc-files argz getopt-gnu gettext mbchar mbiter 
mbscasecmp mbschr mbslen mbsncasecmp mbsstr mbswidth memmem mkstemp 
strdup-posix strerror xalloc
 
 AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
 
@@ -551,15 +551,6 @@
 
 ## end   gnulib module pathmax
 
-## begin gnulib module setenv
-
-
-EXTRA_DIST += setenv.c
-
-EXTRA_libgnu_a_SOURCES += setenv.c
-
-## end   gnulib module setenv
-
 ## begin gnulib module snippet/_Noreturn
 
 # Because this Makefile snippet defines a variable used by other
@@ -1350,15 +1341,6 @@
 
 ## end   gnulib module uniwidth/width
 
-## begin gnulib module unsetenv
-
-
-EXTRA_DIST += unsetenv.c
-
-EXTRA_libgnu_a_SOURCES += unsetenv.c
-
-## end   gnulib module unsetenv
-
 ## begin gnulib module verify
 
 
@@ -1556,12 +1538,6 @@
 
 ## end   gnulib module xalloc-oversized
 
-## begin gnulib module xsetenv
-
-libgnu_a_SOURCES += xsetenv.h xsetenv.c
-
-## end   gnulib module xsetenv
-
 
 mostlyclean-local: mostlyclean-generic
        @for dir in '' $(MOSTLYCLEANDIRS); do \

Index: gnulib/m4/gnulib-cache.m4
===================================================================
RCS file: /sources/texinfo/texinfo/gnulib/m4/gnulib-cache.m4,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- gnulib/m4/gnulib-cache.m4   15 Oct 2011 15:05:22 -0000      1.20
+++ gnulib/m4/gnulib-cache.m4   15 Oct 2011 15:11:37 -0000      1.21
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib 
--m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux 
--no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files argz 
getopt-gnu gettext mbchar mbiter mbscasecmp mbschr mbslen mbsncasecmp mbsstr 
mbswidth memmem mkstemp strdup-posix strerror xalloc xsetenv
+#   gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib 
--m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux 
--no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files argz 
getopt-gnu gettext mbchar mbiter mbscasecmp mbschr mbslen mbsncasecmp mbsstr 
mbswidth memmem mkstemp strdup-posix strerror xalloc
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([])
@@ -48,7 +48,6 @@
   strdup-posix
   strerror
   xalloc
-  xsetenv
 ])
 gl_AVOID([])
 gl_SOURCE_BASE([gnulib/lib])

Index: gnulib/m4/gnulib-comp.m4
===================================================================
RCS file: /sources/texinfo/texinfo/gnulib/m4/gnulib-comp.m4,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- gnulib/m4/gnulib-comp.m4    15 Oct 2011 15:05:22 -0000      1.43
+++ gnulib/m4/gnulib-comp.m4    15 Oct 2011 15:11:37 -0000      1.44
@@ -43,7 +43,6 @@
   # Code from module argz:
   # Code from module configmake:
   # Code from module dosname:
-  # Code from module environ:
   # Code from module errno:
   # Code from module error:
   # Code from module exitfail:
@@ -87,7 +86,6 @@
   # Code from module multiarch:
   # Code from module nocrash:
   # Code from module pathmax:
-  # Code from module setenv:
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
@@ -117,7 +115,6 @@
   # Code from module unitypes:
   # Code from module uniwidth/base:
   # Code from module uniwidth/width:
-  # Code from module unsetenv:
   # Code from module verify:
   # Code from module wchar:
   # Code from module wctype-h:
@@ -125,7 +122,6 @@
   # Code from module xalloc:
   # Code from module xalloc-die:
   # Code from module xalloc-oversized:
-  # Code from module xsetenv:
 ])
 
 # This macro should be invoked from ./configure.ac, in the section
@@ -150,8 +146,6 @@
   AC_LIBOBJ([argz])
 fi
 gl_CONFIGMAKE_PREP
-gl_ENVIRON
-gl_UNISTD_MODULE_INDICATOR([environ])
 gl_HEADER_ERRNO_H
 gl_ERROR
 if test $ac_cv_lib_error_at_line = no; then
@@ -269,11 +263,6 @@
 fi
 gl_MULTIARCH
 gl_PATHMAX
-gl_FUNC_SETENV
-if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
-  AC_LIBOBJ([setenv])
-fi
-gl_STDLIB_MODULE_INDICATOR([setenv])
 gt_TYPE_SSIZE_T
 gl_FUNC_STAT
 if test $REPLACE_STAT = 1; then
@@ -340,12 +329,6 @@
 gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
 gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
 gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width])
-gl_FUNC_UNSETENV
-if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
-  AC_LIBOBJ([unsetenv])
-  gl_PREREQ_UNSETENV
-fi
-gl_STDLIB_MODULE_INDICATOR([unsetenv])
 gl_WCHAR_H
 gl_WCTYPE_H
 gl_FUNC_WCWIDTH
@@ -550,7 +533,6 @@
   lib/pathmax.h
   lib/ref-add.sin
   lib/ref-del.sin
-  lib/setenv.c
   lib/stat.c
   lib/stdbool.in.h
   lib/stddef.in.h
@@ -580,7 +562,6 @@
   lib/uniwidth.in.h
   lib/uniwidth/cjk.h
   lib/uniwidth/width.c
-  lib/unsetenv.c
   lib/verify.h
   lib/wchar.in.h
   lib/wctype.in.h
@@ -589,15 +570,12 @@
   lib/xalloc-oversized.h
   lib/xalloc.h
   lib/xmalloc.c
-  lib/xsetenv.c
-  lib/xsetenv.h
   m4/00gnulib.m4
   m4/alloca.m4
   m4/argz.m4
   m4/codeset.m4
   m4/configmake.m4
   m4/eealloc.m4
-  m4/environ.m4
   m4/errno_h.m4
   m4/error.m4
   m4/extensions.m4
@@ -657,7 +635,6 @@
   m4/po.m4
   m4/printf-posix.m4
   m4/progtest.m4
-  m4/setenv.m4
   m4/size_max.m4
   m4/ssize_t.m4
   m4/stat.m4

Index: gnulib/lib/setenv.c
===================================================================
RCS file: gnulib/lib/setenv.c
diff -N gnulib/lib/setenv.c
--- gnulib/lib/setenv.c 13 Oct 2011 17:41:19 -0000      1.11
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,390 +0,0 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2011 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#if !_LIBC
-# define _GL_USE_STDLIB_ALLOC 1
-# include <config.h>
-#endif
-
-/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
-   optimizes away the name == NULL test below.  */
-#define _GL_ARG_NONNULL(params)
-
-#include <alloca.h>
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#if _LIBC || HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#if !_LIBC
-# include "malloca.h"
-#endif
-
-#if _LIBC || !HAVE_SETENV
-
-#if !_LIBC
-# define __environ      environ
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of `environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-/* In the GNU C library we must keep the namespace clean.  */
-#ifdef _LIBC
-# define setenv __setenv
-# define clearenv __clearenv
-# define tfind __tfind
-# define tsearch __tsearch
-#endif
-
-/* In the GNU C library implementation we try to be more clever and
-   allow arbitrarily many changes of the environment given that the used
-   values are from a small set.  Outside glibc this will eat up all
-   memory after a while.  */
-#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
-                      && defined __GNUC__)
-# define USE_TSEARCH    1
-# include <search.h>
-typedef int (*compar_fn_t) (const void *, const void *);
-
-/* This is a pointer to the root of the search tree with the known
-   values.  */
-static void *known_values;
-
-# define KNOWN_VALUE(Str) \
-  ({                                                                          \
-    void *value = tfind (Str, &known_values, (compar_fn_t) strcmp);           \
-    value != NULL ? *(char **) value : NULL;                                  \
-  })
-# define STORE_VALUE(Str) \
-  tsearch (Str, &known_values, (compar_fn_t) strcmp)
-
-#else
-# undef USE_TSEARCH
-
-# define KNOWN_VALUE(Str) NULL
-# define STORE_VALUE(Str) do { } while (0)
-
-#endif
-
-
-/* If this variable is not a null pointer we allocated the current
-   environment.  */
-static char **last_environ;
-
-
-/* This function is used by `setenv' and `putenv'.  The difference between
-   the two functions is that for the former must create a new string which
-   is then placed in the environment, while the argument of `putenv'
-   must be used directly.  This is all complicated by the fact that we try
-   to reuse values once generated for a `setenv' call since we can never
-   free the strings.  */
-int
-__add_to_environ (const char *name, const char *value, const char *combined,
-                  int replace)
-{
-  char **ep;
-  size_t size;
-  const size_t namelen = strlen (name);
-  const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
-
-  LOCK;
-
-  /* We have to get the pointer now that we have the lock and not earlier
-     since another thread might have created a new environment.  */
-  ep = __environ;
-
-  size = 0;
-  if (ep != NULL)
-    {
-      for (; *ep != NULL; ++ep)
-        if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
-          break;
-        else
-          ++size;
-    }
-
-  if (ep == NULL || *ep == NULL)
-    {
-      char **new_environ;
-#ifdef USE_TSEARCH
-      char *new_value;
-#endif
-
-      /* We allocated this space; we can extend it.  */
-      new_environ =
-        (char **) (last_environ == NULL
-                   ? malloc ((size + 2) * sizeof (char *))
-                   : realloc (last_environ, (size + 2) * sizeof (char *)));
-      if (new_environ == NULL)
-        {
-          /* It's easier to set errno to ENOMEM than to rely on the
-             'malloc-posix' and 'realloc-posix' gnulib modules.  */
-          __set_errno (ENOMEM);
-          UNLOCK;
-          return -1;
-        }
-
-      /* If the whole entry is given add it.  */
-      if (combined != NULL)
-        /* We must not add the string to the search tree since it belongs
-           to the user.  */
-        new_environ[size] = (char *) combined;
-      else
-        {
-          /* See whether the value is already known.  */
-#ifdef USE_TSEARCH
-# ifdef _LIBC
-          new_value = (char *) alloca (namelen + 1 + vallen);
-          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
-                     value, vallen);
-# else
-          new_value = (char *) malloca (namelen + 1 + vallen);
-          if (new_value == NULL)
-            {
-              __set_errno (ENOMEM);
-              UNLOCK;
-              return -1;
-            }
-          memcpy (new_value, name, namelen);
-          new_value[namelen] = '=';
-          memcpy (&new_value[namelen + 1], value, vallen);
-# endif
-
-          new_environ[size] = KNOWN_VALUE (new_value);
-          if (new_environ[size] == NULL)
-#endif
-            {
-              new_environ[size] = (char *) malloc (namelen + 1 + vallen);
-              if (new_environ[size] == NULL)
-                {
-#if defined USE_TSEARCH && !defined _LIBC
-                  freea (new_value);
-#endif
-                  __set_errno (ENOMEM);
-                  UNLOCK;
-                  return -1;
-                }
-
-#ifdef USE_TSEARCH
-              memcpy (new_environ[size], new_value, namelen + 1 + vallen);
-#else
-              memcpy (new_environ[size], name, namelen);
-              new_environ[size][namelen] = '=';
-              memcpy (&new_environ[size][namelen + 1], value, vallen);
-#endif
-              /* And save the value now.  We cannot do this when we remove
-                 the string since then we cannot decide whether it is a
-                 user string or not.  */
-              STORE_VALUE (new_environ[size]);
-            }
-#if defined USE_TSEARCH && !defined _LIBC
-          freea (new_value);
-#endif
-        }
-
-      if (__environ != last_environ)
-        memcpy ((char *) new_environ, (char *) __environ,
-                size * sizeof (char *));
-
-      new_environ[size + 1] = NULL;
-
-      last_environ = __environ = new_environ;
-    }
-  else if (replace)
-    {
-      char *np;
-
-      /* Use the user string if given.  */
-      if (combined != NULL)
-        np = (char *) combined;
-      else
-        {
-#ifdef USE_TSEARCH
-          char *new_value;
-# ifdef _LIBC
-          new_value = alloca (namelen + 1 + vallen);
-          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
-                     value, vallen);
-# else
-          new_value = malloca (namelen + 1 + vallen);
-          if (new_value == NULL)
-            {
-              __set_errno (ENOMEM);
-              UNLOCK;
-              return -1;
-            }
-          memcpy (new_value, name, namelen);
-          new_value[namelen] = '=';
-          memcpy (&new_value[namelen + 1], value, vallen);
-# endif
-
-          np = KNOWN_VALUE (new_value);
-          if (np == NULL)
-#endif
-            {
-              np = (char *) malloc (namelen + 1 + vallen);
-              if (np == NULL)
-                {
-#if defined USE_TSEARCH && !defined _LIBC
-                  freea (new_value);
-#endif
-                  __set_errno (ENOMEM);
-                  UNLOCK;
-                  return -1;
-                }
-
-#ifdef USE_TSEARCH
-              memcpy (np, new_value, namelen + 1 + vallen);
-#else
-              memcpy (np, name, namelen);
-              np[namelen] = '=';
-              memcpy (&np[namelen + 1], value, vallen);
-#endif
-              /* And remember the value.  */
-              STORE_VALUE (np);
-            }
-#if defined USE_TSEARCH && !defined _LIBC
-          freea (new_value);
-#endif
-        }
-
-      *ep = np;
-    }
-
-  UNLOCK;
-
-  return 0;
-}
-
-int
-setenv (const char *name, const char *value, int replace)
-{
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  return __add_to_environ (name, value, NULL, replace);
-}
-
-/* The `clearenv' was planned to be added to POSIX.1 but probably
-   never made it.  Nevertheless the POSIX.9 standard (POSIX bindings
-   for Fortran 77) requires this function.  */
-int
-clearenv (void)
-{
-  LOCK;
-
-  if (__environ == last_environ && __environ != NULL)
-    {
-      /* We allocated this environment so we can free it.  */
-      free (__environ);
-      last_environ = NULL;
-    }
-
-  /* Clear the environment pointer removes the whole environment.  */
-  __environ = NULL;
-
-  UNLOCK;
-
-  return 0;
-}
-
-#ifdef _LIBC
-static void
-free_mem (void)
-{
-  /* Remove all traces.  */
-  clearenv ();
-
-  /* Now remove the search tree.  */
-  __tdestroy (known_values, free);
-  known_values = NULL;
-}
-text_set_element (__libc_subfreeres, free_mem);
-
-
-# undef setenv
-# undef clearenv
-weak_alias (__setenv, setenv)
-weak_alias (__clearenv, clearenv)
-#endif
-
-#endif /* _LIBC || !HAVE_SETENV */
-
-/* The rest of this file is called into use when replacing an existing
-   but buggy setenv.  Known bugs include failure to diagnose invalid
-   name, and consuming a leading '=' from value.  */
-#if HAVE_SETENV
-
-# undef setenv
-# if !HAVE_DECL_SETENV
-extern int setenv (const char *, const char *, int);
-# endif
-# define STREQ(a, b) (strcmp (a, b) == 0)
-
-int
-rpl_setenv (const char *name, const char *value, int replace)
-{
-  int result;
-  if (!name || !*name || strchr (name, '='))
-    {
-      errno = EINVAL;
-      return -1;
-    }
-  /* Call the real setenv even if replace is 0, in case implementation
-     has underlying data to update, such as when environ changes.  */
-  result = setenv (name, value, replace);
-  if (result == 0 && replace && *value == '=')
-    {
-      char *tmp = getenv (name);
-      if (!STREQ (tmp, value))
-        {
-          int saved_errno;
-          size_t len = strlen (value);
-          tmp = malloca (len + 2);
-          /* Since leading '=' is eaten, double it up.  */
-          *tmp = '=';
-          memcpy (tmp + 1, value, len + 1);
-          result = setenv (name, tmp, replace);
-          saved_errno = errno;
-          freea (tmp);
-          errno = saved_errno;
-        }
-    }
-  return result;
-}
-
-#endif /* HAVE_SETENV */

Index: gnulib/lib/unsetenv.c
===================================================================
RCS file: gnulib/lib/unsetenv.c
diff -N gnulib/lib/unsetenv.c
--- gnulib/lib/unsetenv.c       13 Oct 2011 17:41:22 -0000      1.8
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,127 +0,0 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2011 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
-   optimizes away the name == NULL test below.  */
-#define _GL_ARG_NONNULL(params)
-
-/* Specification.  */
-#include <stdlib.h>
-
-#include <errno.h>
-#if !_LIBC
-# define __set_errno(ev) ((errno) = (ev))
-#endif
-
-#include <string.h>
-#include <unistd.h>
-
-#if !_LIBC
-# define __environ      environ
-#endif
-
-#if _LIBC
-/* This lock protects against simultaneous modifications of `environ'.  */
-# include <bits/libc-lock.h>
-__libc_lock_define_initialized (static, envlock)
-# define LOCK   __libc_lock_lock (envlock)
-# define UNLOCK __libc_lock_unlock (envlock)
-#else
-# define LOCK
-# define UNLOCK
-#endif
-
-/* In the GNU C library we must keep the namespace clean.  */
-#ifdef _LIBC
-# define unsetenv __unsetenv
-#endif
-
-#if _LIBC || !HAVE_UNSETENV
-
-int
-unsetenv (const char *name)
-{
-  size_t len;
-  char **ep;
-
-  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  len = strlen (name);
-
-  LOCK;
-
-  ep = __environ;
-  while (*ep != NULL)
-    if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
-      {
-        /* Found it.  Remove this pointer by moving later ones back.  */
-        char **dp = ep;
-
-        do
-          dp[0] = dp[1];
-        while (*dp++);
-        /* Continue the loop in case NAME appears again.  */
-      }
-    else
-      ++ep;
-
-  UNLOCK;
-
-  return 0;
-}
-
-#ifdef _LIBC
-# undef unsetenv
-weak_alias (__unsetenv, unsetenv)
-#endif
-
-#else /* HAVE_UNSETENV */
-
-# undef unsetenv
-# if !HAVE_DECL_UNSETENV
-#  if VOID_UNSETENV
-extern void unsetenv (const char *);
-#  else
-extern int unsetenv (const char *);
-#  endif
-# endif
-
-/* Call the underlying unsetenv, in case there is hidden bookkeeping
-   that needs updating beyond just modifying environ.  */
-int
-rpl_unsetenv (const char *name)
-{
-  int result = 0;
-  if (!name || !*name || strchr (name, '='))
-    {
-      errno = EINVAL;
-      return -1;
-    }
-  while (getenv (name))
-# if !VOID_UNSETENV
-    result =
-# endif
-      unsetenv (name);
-  return result;
-}
-
-#endif /* HAVE_UNSETENV */

Index: gnulib/lib/xsetenv.c
===================================================================
RCS file: gnulib/lib/xsetenv.c
diff -N gnulib/lib/xsetenv.c
--- gnulib/lib/xsetenv.c        5 Feb 2011 19:06:04 -0000       1.8
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,38 +0,0 @@
-/* Setting environment variables, with out-of-memory checking.
-   Copyright (C) 2001-2002, 2005-2007, 2009-2011 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "xsetenv.h"
-
-#include <stdlib.h>
-
-#include "error.h"
-#include "gettext.h"
-
-#define _(str) gettext (str)
-
-
-/* Set NAME to VALUE in the environment.
-   If REPLACE is nonzero, overwrite an existing value.
-   With error checking.  */
-void
-xsetenv (const char *name, const char *value, int replace)
-{
-  if (setenv (name, value, replace) < 0)
-    error (EXIT_FAILURE, 0, _("memory exhausted"));
-}

Index: gnulib/lib/xsetenv.h
===================================================================
RCS file: gnulib/lib/xsetenv.h
diff -N gnulib/lib/xsetenv.h
--- gnulib/lib/xsetenv.h        5 Feb 2011 19:06:04 -0000       1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,31 +0,0 @@
-/* Setting environment variables, with out-of-memory checking.
-   Copyright (C) 2001-2002, 2007, 2009-2011 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
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Get unsetenv().  It can be used without error checking.  */
-#include <stdlib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Set NAME to VALUE in the environment.
-   If REPLACE is nonzero, overwrite an existing value.
-   With error checking.  */
-extern void xsetenv (const char *name, const char *value, int replace);
-
-#ifdef __cplusplus
-}
-#endif

Index: gnulib/m4/environ.m4
===================================================================
RCS file: gnulib/m4/environ.m4
diff -N gnulib/m4/environ.m4
--- gnulib/m4/environ.m4        13 Oct 2011 17:41:23 -0000      1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,47 +0,0 @@
-# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN_ONCE([gl_ENVIRON],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  dnl Persuade glibc <unistd.h> to declare environ.
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  AC_CHECK_HEADERS_ONCE([unistd.h])
-  gt_CHECK_VAR_DECL(
-    [#if HAVE_UNISTD_H
-     #include <unistd.h>
-     #endif
-     /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  
*/
-     #include <stdlib.h>
-    ],
-    [environ])
-  if test $gt_cv_var_environ_declaration != yes; then
-    HAVE_DECL_ENVIRON=0
-  fi
-])
-
-# Check if a variable is properly declared.
-# gt_CHECK_VAR_DECL(includes,variable)
-AC_DEFUN([gt_CHECK_VAR_DECL],
-[
-  define([gt_cv_var], [gt_cv_var_]$2[_declaration])
-  AC_MSG_CHECKING([if $2 is properly declared])
-  AC_CACHE_VAL([gt_cv_var], [
-    AC_COMPILE_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[$1
-           extern struct { int foo; } $2;]],
-         [[$2.foo = 1;]])],
-      [gt_cv_var=no],
-      [gt_cv_var=yes])])
-  AC_MSG_RESULT([$gt_cv_var])
-  if test $gt_cv_var = yes; then
-    AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
-              [Define if you have the declaration of $2.])
-  fi
-  undefine([gt_cv_var])
-])

Index: gnulib/m4/setenv.m4
===================================================================
RCS file: gnulib/m4/setenv.m4
diff -N gnulib/m4/setenv.m4
--- gnulib/m4/setenv.m4 13 Oct 2011 17:41:33 -0000      1.8
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,140 +0,0 @@
-# setenv.m4 serial 25
-dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_SETENV],
-[
-  AC_REQUIRE([gl_FUNC_SETENV_SEPARATE])
-  if test $ac_cv_func_setenv = no; then
-    HAVE_SETENV=0
-  else
-    AC_CACHE_CHECK([whether setenv validates arguments],
-      [gl_cv_func_setenv_works],
-      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-       #include <stdlib.h>
-       #include <errno.h>
-       #include <string.h>
-      ]], [[
-       int result = 0;
-       {
-         if (setenv ("", "", 0) != -1)
-           result |= 1;
-         else if (errno != EINVAL)
-           result |= 2;
-       }
-       {
-         if (setenv ("a", "=", 1) != 0)
-           result |= 4;
-         else if (strcmp (getenv ("a"), "=") != 0)
-           result |= 8;
-       }
-       return result;
-      ]])],
-      [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
-      [gl_cv_func_setenv_works="guessing no"])])
-    if test "$gl_cv_func_setenv_works" != yes; then
-      REPLACE_SETENV=1
-    fi
-  fi
-])
-
-# Like gl_FUNC_SETENV, except prepare for separate compilation
-# (no REPLACE_SETENV, no AC_LIBOBJ).
-AC_DEFUN([gl_FUNC_SETENV_SEPARATE],
-[
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  AC_CHECK_DECLS_ONCE([setenv])
-  if test $ac_cv_have_decl_setenv = no; then
-    HAVE_DECL_SETENV=0
-  fi
-  AC_CHECK_FUNCS_ONCE([setenv])
-  gl_PREREQ_SETENV
-])
-
-AC_DEFUN([gl_FUNC_UNSETENV],
-[
-  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
-  AC_CHECK_DECLS_ONCE([unsetenv])
-  if test $ac_cv_have_decl_unsetenv = no; then
-    HAVE_DECL_UNSETENV=0
-  fi
-  AC_CHECK_FUNCS([unsetenv])
-  if test $ac_cv_func_unsetenv = no; then
-    HAVE_UNSETENV=0
-  else
-    HAVE_UNSETENV=1
-    dnl Some BSDs return void, failing to do error checking.
-    AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret],
-      [AC_COMPILE_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[
-#undef _BSD
-#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
-#include <stdlib.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-int unsetenv (const char *name);
-            ]],
-            [[]])],
-         [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 to 1 if unsetenv returns void
-       instead of int.])
-      REPLACE_UNSETENV=1
-    fi
-
-    dnl Solaris 10 unsetenv does not remove all copies of a name.
-    dnl Haiku alpha 2 unsetenv gets confused by assignment to environ.
-    dnl OpenBSD 4.7 unsetenv("") does not fail.
-    AC_CACHE_CHECK([whether unsetenv obeys POSIX],
-      [gl_cv_func_unsetenv_works],
-      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-       #include <stdlib.h>
-       #include <errno.h>
-       extern char **environ;
-      ]], [[
-       char entry1[] = "a=1";
-       char entry2[] = "b=2";
-       char *env[] = { entry1, entry2, NULL };
-       if (putenv ((char *) "a=1")) return 1;
-       if (putenv (entry2)) return 2;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 3;
-       if (!unsetenv ("") || errno != EINVAL) return 4;
-       entry2[0] = 'b';
-       environ = env;
-       if (!getenv ("a")) return 5;
-       entry2[0] = 'a';
-       unsetenv ("a");
-       if (getenv ("a")) return 6;
-      ]])],
-      [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no],
-      [gl_cv_func_unsetenv_works="guessing no"])])
-    if test "$gl_cv_func_unsetenv_works" != yes; then
-      REPLACE_UNSETENV=1
-    fi
-  fi
-])
-
-# Prerequisites of lib/setenv.c.
-AC_DEFUN([gl_PREREQ_SETENV],
-[
-  AC_REQUIRE([AC_FUNC_ALLOCA])
-  AC_REQUIRE([gl_ENVIRON])
-  AC_CHECK_HEADERS_ONCE([unistd.h])
-  AC_CHECK_HEADERS([search.h])
-  AC_CHECK_FUNCS([tsearch])
-])
-
-# Prerequisites of lib/unsetenv.c.
-AC_DEFUN([gl_PREREQ_UNSETENV],
-[
-  AC_REQUIRE([gl_ENVIRON])
-  AC_CHECK_HEADERS_ONCE([unistd.h])
-])



reply via email to

[Prev in Thread] Current Thread [Next in Thread]