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

Prof Brian D Ripley ripley@stats.ox.ac.uk
Wed, 29 Sep 1999 15:52:35 +0100 (BST)


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 ?

I think it should really be NULL if undefined: attributes which may or may
not be there are a nuisance.  The only problem I can see is in
system.gnw.r, whihc doe use nchar on getenv.

Small point: when do you want to change this? It is platform-specific code.

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

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