History log of /freebsd-10.1-release/usr.bin/env/env.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 216370 11-Dec-2010 joel

Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with: imp, rwatson


# 178289 17-Apr-2008 gad

Add the '-u name' option to the env command, which will completely unset
the given variable name (removing it from the environment, instead of
just setting it to a null value).

PR: bin/65649
MFC after: 2 weeks


# 171195 03-Jul-2007 scf

Significantly reduce the memory leak as noted in BUGS section for
setenv(3) by tracking the size of the memory allocated instead of using
strlen() on the current value.

Convert all calls to POSIX from historic BSD API:
- unsetenv returns an int.
- putenv takes a char * instead of const char *.
- putenv no longer makes a copy of the input string.
- errno is set appropriately for POSIX. Exceptions involve bad environ
variable and internal initialization code. These both set errno to
EFAULT.

Several patches to base utilities to handle the POSIX changes from
Andrey Chernov's previous commit. A few I re-wrote to use setenv()
instead of putenv().

New regression module for tools/regression/environ to test these
functions. It also can be used to test the performance.

Bump __FreeBSD_version to 700050 due to API change.

PR: kern/99826
Approved by: wes
Approved by: re (kensmith)


# 169177 01-May-2007 ache

Back out all POSIXified *env() changes.

Not because I admit they are technically wrong and not because of bug
reports (I receive nothing). But because I surprisingly meets so
strong opposition and resistance so lost any desire to continue that.

Anyone who interested in POSIX can dig out what changes and how
through cvs diffs.


# 169145 30-Apr-2007 ache

env calls setenv("name=value", "value", 1); which violates POSIX:
"The setenv( ) function shall fail if:
[EINVAL] The name argument is a null pointer, points to an empty string,
or points to a string containing an '=' character."
The fix (like all others in this subject) is backward-compatible.


# 147517 21-Jun-2005 gad

Undo r1.14 to env.c. While it is unusual for environment variables to
start with a '/', they are more supported (by POSIX and SUSv3) than
filenames which have an '=' in them.

Noticed by: tjr
Approved by: re (blanket `env')


# 147493 20-Jun-2005 gad

Add the '-S' and '-P' options. The '-S' option can be used to split
apart a string, and supports some text substitutions. This can be
used to provide all the flexibility (and more!) that was lost by recent
changes to how the kernel parses #!-lines in shell scripts.

The '-P' option provides a way to specify an alternate set of directories
to use when searching for the 'utility' program to run. This way you can
be sure what directories are used for that search, without changing the
value of PATH that the user has set. Note that on FreeBSD 6.0, this
option is worthless unless the '-S' option is also used.

Approved by: re (blanket `env')


# 147492 20-Jun-2005 gad

If the `utility' specified starts with a '/' character, then execute it
without checking it for an equals-sign. If it starts with a slash, then
it cannot be a request to set the value of a valid environment variable.

Approved by: re (blanket `env')


# 147491 20-Jun-2005 gad

Move the code that clears the environment when `-i' is specified, so it that
it does not happen until all single-letter options are processed. This will
be important for the -S option, which will be coming soon.

Approved by: re (blanket `env')


# 147490 20-Jun-2005 gad

Add a '-v' option to `env', to make it easier to discover exactly what steps
it is doing, and what order it does them. This will be much more useful as
more options are added.

Approved by: re (blanket `env')


# 102944 04-Sep-2002 dwmalone

ANSIify function definitions.
Add some constness to avoid some warnings.
Remove use register keyword.
Deal with missing/unneeded extern/prototypes.
Some minor type changes/casts to avoid warnings.

Reviewed by: md5


# 98968 28-Jun-2002 tjr

Discourage use of env(1)'s "-" flag by moving its description to the
Compatibility section of the manual page.


# 98418 19-Jun-2002 tjr

Indicate that env(1) allows you to supply arguments to the utility it
executes in the usage() message and manual page. Use "utility" instead of
"command" in both places to emphasise that shell builtins etc. will not work,
and to be consistent with the terminology used by POSIX.

PR: 39210
Submitted by: Danny J. Zerkel <dzerkel@columbus.rr.com>
MFC after: 1 week


# 92920 21-Mar-2002 imp

remove __P


# 91792 07-Mar-2002 mike

Leave the `copyright' variable exposed, since the main purpose of it
is to put a copyright in the object file.

Submitted by: bde


# 91004 21-Feb-2002 mike

Use new ID scheme.

Fix env(1)'s exit status to conform with SUSv3.

Submitted by: Tim Robbins <tim@robbins.dropbear.id.au>
MFC after: 2 weeks


# 50444 27-Aug-1999 sheldonh

Add ``-i'' option, which is the same as ``-''. The -i option is the
recommended option in the manpage, but the - option remains for
backward compatibility and is documented as such.

PR: 13363
Reported by: James Howard <howardjp@wam.umd.edu>
Reviewed by: bde


# 41568 06-Dec-1998 archie

Tweaks to allow compiling -Wall (mostly adding "const" to char rcsid[]).


# 27100 30-Jun-1997 charnier

Add usage().


# 24360 29-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# 1591 27-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1590,
which included commits to RCS files with non-trunk default branches.


# 1590 27-May-1994 rgrimes

BSD 4.4 Lite Usr.bin Sources