getenv in FreeBSD 7

Jeremy Chadwick koitsu at freebsd.org
Sun Apr 6 22:16:20 UTC 2008


On Sun, Apr 06, 2008 at 03:02:44PM -0700, Doug Hardie wrote:
> On Apr 6, 2008, at 14:45, Jeremy Chadwick wrote:
>> On Sun, Apr 06, 2008 at 02:37:06PM -0700, Doug Hardie wrote:
>>> Somewhere between FreeBSD 6.2 and 7.0 getenv has been changed to return a
>>> null if an environment variable is set but has no value.  I don't find
>>> anything anywhere in the documentation/man pages on this.  As a result, 
>>> you
>>> cannot distinguish between a variable that is not set and one that is set
>>> to a value of "".  Is this a bug or a feature change?
>>
>> I'd begin peeking here:
>>
>> http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/getenv.c
>
> Did that prior to my original posting.  I find nothing there on it.

The manpage change is documented in revision 1.27.  See my other mail
documenting proof that the manpages do in fact document the change:

http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/getenv.3

Using that commit message as a cross-reference, we can correlate the
commit in getenv.c -- revision 1.9:

http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/getenv.c
http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/getenv.c.diff?r1=1.8;r2=1.9;f=h

-- 
| Jeremy Chadwick                                    jdc at parodius.com |
| Parodius Networking                           http://www.parodius.com/ |
| UNIX Systems Administrator                      Mountain View, CA, USA |
| Making life hard for others since 1977.                  PGP: 4BD6C0CB |



More information about the freebsd-stable mailing list