diff options
author | Sean Farley <scf@FreeBSD.org> | 2007-07-20 23:30:13 +0000 |
---|---|---|
committer | Sean Farley <scf@FreeBSD.org> | 2007-07-20 23:30:13 +0000 |
commit | 9bab236702b4f33a990011b08a2deebbb8ea6e0c (patch) | |
tree | ed5502bc3249ddd22e1a4f358ebad5cf82011ec5 /lib/ncurses/config.mk | |
parent | d2a748e2325400163c6142a89941fca8a9c37e04 (diff) | |
download | src-9bab236702b4f33a990011b08a2deebbb8ea6e0c.tar.gz src-9bab236702b4f33a990011b08a2deebbb8ea6e0c.zip |
Added environ-replacement detection. For programs that "clean" (i.e., su)
or replace (i.e., zdump) the environment after a call to setenv(), putenv()
or unsetenv() has been made, a few changes were made.
- getenv() will return the value from the new environ array.
- setenv() was split into two functions: __setenv() which is most of the
previous setenv() without checks on the name and setenv() which
contains the checks before calling __setenv().
- setenv(), putenv() and unsetenv() will unset all previous values and
call __setenv() on all entries in the new environ array which in turn
adds them to the end of the envVars array. Calling __setenv() instead
of setenv() is done to avoid the temporary replacement of the '=' in a
string with a NUL byte. Some strings may be read-only data.
Added more regression checks for clearing the environment array.
Replaced gettimeofday() with getrusage() in timing regression check for
better accuracy.
Fixed an off-by-one bug in __remove_putenv() in the use of memmove(). This
went unnoticed due to the allocation of double the number of environ
entries when building envVars.
Fixed a few spelling mistakes in the comments.
Reviewed by: ache
Approved by: wes
Approved by: re (kensmith)
Notes
Notes:
svn path=/head/; revision=171525
Diffstat (limited to 'lib/ncurses/config.mk')
0 files changed, 0 insertions, 0 deletions