2007-02-20 Jim Meyering <jim@meyering.net>
+ * src/env.c (main): When invoked with no arguments (i.e. when printing
+ the environment), use a local variable to iterate through the global
+ "environ" array, rather than "environ" itself. This is solely to
+ avoid changing the environment for an LD_PRELOAD-substituted "puts"
+ or "exit" function. Tiny patch by Harvey Eneman. See
+ <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/9735>.
+ * THANKS: Update.
+
* bootstrap: Move definitions of temporary directory names and the
new bt_regex "up" to precede all uses, so it's clearer what their
scope is. Also, use [.], rather than \\., since the former works
Harald Dunkel harald.dunkel@t-online.de
Harry Liu rliu@lek.ugcs.caltech.edu
Harti Brandt brandt@fokus.fraunhofer.de
+Harvey Eneman Harvey.Eneman@oracle.com
Helen Faulkner helen_ml_faulkner@yahoo.co.uk
Herbert Xu herbert@gondor.apana.org.au
Holger Berger hberger@ess.nec.de
/* env - run a program in a modified environment
- Copyright (C) 1986, 1991-2005 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1991-2005, 2007 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
/* If no program is specified, print the environment and exit. */
if (argc <= optind)
{
- while (*environ)
- puts (*environ++);
+ char *const *e = environ;
+ while (*e)
+ puts (*e++);
exit (EXIT_SUCCESS);
}