getenv() can't differentiate "defined but empty" and "undefined"
Martin Maechler <firstname.lastname@example.org>
Wed, 29 Sep 1999 17:52:17 +0200
>>>>> On Wed, 29 Sep 1999 Prof Brian D Ripley <email@example.com> said:
BDR> On Wed, 29 Sep 1999, Martin Maechler wrote:
>> getenv(<varname>) currently returns "" if the <varname> is
>> 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 ?
BDR> I think it should really be NULL if undefined: attributes which
BDR> may or may not be there are a nuisance.
that was my first thought, as well, however ...
BDR> The only problem I can
BDR> see is in system.gnw.r, whihc doe use nchar on getenv.
and all the user code from S and R which assumes that getenv() returns
a character() as it is documented !
BDR> Small point: when do you want to change this? It is
BDR> platform-specific code.
(why does this need to be specific?
-- yes I was too lazy to study the code ..)
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: firstname.lastname@example.org