freebsd-dev/bin/sh
Sean Farley 2966d28c32 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)
2007-07-04 00:00:41 +00:00
..
bltin Declare echocmd() and testcmd(). 2005-08-13 15:04:30 +00:00
funcs /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
alias.c Return 1 from the unalias builtin if _any_ removal fails, not just the last 2005-09-02 22:43:28 +00:00
alias.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
arith_lex.l cvs -d stefanf@ncvs.FreeBSD.org:/home/ncvs 2005-08-13 07:54:23 +00:00
arith.h cvs -d stefanf@ncvs.FreeBSD.org:/home/ncvs 2005-08-13 07:54:23 +00:00
arith.y cvs -d stefanf@ncvs.FreeBSD.org:/home/ncvs 2005-08-13 07:54:23 +00:00
builtins.def Use -s to flag POSIX's "special built-in" utilities in builtins.def. Add a 2006-04-02 18:43:33 +00:00
cd.c Don't strip a leading ./ from the path for the cd builtin to avoid interpreting 2006-06-12 21:06:00 +00:00
cd.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
error.c Remove some white space at EOL. 2006-02-04 14:37:50 +00:00
error.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
eval.c Merge NetBSD's revision 1.86: Don't crash on "<cmd> | { }". 2006-06-15 07:57:05 +00:00
eval.h Add the times builtin. It reports the user and system time for the shell 2005-12-04 18:44:21 +00:00
exec.c Use eaccess() instead of access() for the type builtin, like we do for the 2007-01-18 22:31:22 +00:00
exec.h Implement some of the differences between special built-ins and other builtins 2006-04-09 12:21:20 +00:00
expand.c Fix expanding of quoted positional parameters in case patterns. 2006-11-07 22:46:13 +00:00
expand.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
histedit.c Commit the results of the typo hunt by Darren Pilgrim. 2006-08-04 07:56:35 +00:00
init.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
input.c Check the buffer size when copying the line returned by el_gets() into our 2006-04-29 10:29:10 +00:00
input.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
jobs.c Add the POSIX option -p to the jobs builtin command. It prints the PID of the 2006-10-07 16:51:16 +00:00
jobs.h Add the POSIX option -p to the jobs builtin command. It prints the PID of the 2006-10-07 16:51:16 +00:00
mail.c Include missing headers. 2005-08-13 08:26:58 +00:00
mail.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
main.c Add the POSIX option -p to the jobs builtin command. It prints the PID of the 2006-10-07 16:51:16 +00:00
main.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
Makefile Whitespace nits. 2006-04-17 17:55:11 +00:00
memalloc.c Protect malloc, realloc and free calls with INT{ON,OFF} directly in chkalloc, 2005-10-28 10:45:19 +00:00
memalloc.h Protect malloc, realloc and free calls with INT{ON,OFF} directly in chkalloc, 2005-10-28 10:45:19 +00:00
miscbltin.c Remove some white space at EOL. 2006-02-04 14:37:50 +00:00
mkbuiltins Use -s to flag POSIX's "special built-in" utilities in builtins.def. Add a 2006-04-02 18:43:33 +00:00
mkinit.c - Provide all initialisers for a struct event. 2005-08-13 08:38:02 +00:00
mknodes.c Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
mksyntax.c Put the comparison with PEOF into a new macro is_eof(). Don't use it if the 2005-08-13 15:47:13 +00:00
mktokens /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
myhistedit.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
mystring.c Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
mystring.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
nodes.c.pat Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
nodetypes /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
options.c Implement some of the differences between special built-ins and other builtins 2006-04-09 12:21:20 +00:00
options.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
output.c Print empty quotes ('') when an empty string is passed to outqstr(). 2005-12-08 21:00:39 +00:00
output.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
parser.c When parsing an invalid parameter expansion (eg. ${} or ${foo@bar}) do not 2006-11-05 18:36:05 +00:00
parser.h When parsing an invalid parameter expansion (eg. ${} or ${foo@bar}) do not 2006-11-05 18:36:05 +00:00
redir.c Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
redir.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
sh.1 Add the POSIX option -p to the jobs builtin command. It prints the PID of the 2006-10-07 16:51:16 +00:00
shell.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
show.c Output something reasonable for regular and expanded here-documents. 2006-04-14 13:59:03 +00:00
show.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
TOUR Correct assorted grammos and typos. 2006-04-16 11:54:01 +00:00
trap.c Whitespace nits. 2006-04-17 17:55:11 +00:00
trap.h Remove clause 3 from the UCB licenses. 2004-04-06 20:06:54 +00:00
var.c Significantly reduce the memory leak as noted in BUGS section for 2007-07-04 00:00:41 +00:00
var.h Implement the PS4 variable which is defined by the POSIX User Portability 2006-06-15 07:00:49 +00:00