getenv() can't differentiate "defined but empty" and "undefined"

Martin Maechler Martin Maechler <>
Wed, 29 Sep 1999 15:57:09 +0200

getenv(<varname>)  currently returns  ""
if the <varname> is undefined.

However, if <varname> is defined but empty,
getenv(<varname>) still only returns "".

I think this is quite unfortunate  
but consistent with the prototype.

I'd propose to change the current behavior.
Something which should be pretty back compatible would 
for the first case (undefined environment variable)
to return "" with an attribute "defined" set to FALSE
i.e.  return(structure("", defined = FALSE))

Does anyone see a problem with this approach ?

Martin Maechler <>
Seminar fuer Statistik, ETH-Zentrum  LEO D10	Leonhardstr. 27
ETH (Federal Inst. Technology)	8092 Zurich	SWITZERLAND
phone: x-41-1-632-3408		fax: ...-1228			<><
r-devel mailing list -- Read
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: