From ripley@stats.ox.ac.uk  Wed Sep 29 15:52:35 1999
From: ripley@stats.ox.ac.uk (Prof Brian D Ripley)
Date: Wed, 29 Sep 1999 15:52:35 +0100 (BST)
Subject: getenv() can't differentiate  "defined but empty" and "undefined"
In-Reply-To: <199909291357.PAA15567@sophie.ethz.ch>
Message-ID: <Pine.GSO.4.05.9909291546210.13114-100000@auk.stats>

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


getenv() can't differentiate "defined but empty" and "undefined"
Prof Brian D Ripley