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

About this list Date view Thread view Subject view Author view Other groups

Subject: Re: getenv() can't differentiate "defined but empty" and "undefined"
From: Martin Maechler (maechler@stat.math.ethz.ch)
Date: Thu 30 Sep 1999 - 01:52:17 EST


Message-Id: <199909291552.RAA15706@sophie.ethz.ch>

>>>>> On Wed, 29 Sep 1999 Prof Brian D Ripley <ripley@stats.ox.ac.uk> said:

BDR> On Wed, 29 Sep 1999, Martin Maechler wrote:
>> 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 ?

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 ..)

Martin
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b25 : Tue 04 Jan 2000 - 14:16:08 EST