[GRASS5] Re: [GRASS-CVS] glynn: grass51/general/g.parser main.c,2.0,2.1

Michael Barton michael.barton at asu.edu
Mon Dec 6 13:32:06 EST 2004


I can help to change these scripts if there is a decision as to what needs
to be done.

Michael


On 12/6/04 3:57 AM, "Markus Neteler" <neteler at itc.it> wrote:

> On Sun, Dec 05, 2004 at 04:22:04PM +1300, Hamish wrote:
>>>> does the change below affect existing GRASS scripts?
>>> 
>>>>> - sprintf(buff, "GIS_OPT_%s=%s", option->key, option->answer);
>>>>> + sprintf(buff, "GIS_OPT_%s=%s", option->key, option->answer ?
>>>>> option->answer : "");
>>> 
>>> The only way in which it could affect existing scripts is if they are
>>> doing e.g.:
>>> 
>>> if [ $GIS_OPT_something = '(null)' ] ; then
>>> ...
>>> 
>>> which is probably a bug. I'm not sure that sprintf(buff, "%s", NULL)
>>> is guaranteed to generate "(null)".
>>> 
>>> However, there is at least one script (i.image.mosaic) which expects a
>>> missing argument to result in $GIS_OPT_* being the empty string.
>>> 
>>> N.B.: this is a fix for bug #2740.
>> 
>> 
>> 
>> grass57/scripts$ grep -r '(null)' * | cut -f1 -d/ | uniq
>> d.monsize
>> d.out.png
>> d.rast.leg
>> d.slide.show
>> g.manual
>> g.mlist
>> g.mremove
>> i.spectral
>> r.out.gdal
>> r.reclass.area
>> r.shaded.relief
>> v.in.garmin
>> 
>> 
>> Is the above change permanent and should all these scripts change to
>> 
>> - if [ $GIS_OPT_something = '(null)' ] ; then
>> + if [ -z $GIS_OPT_something ] ; then
>>    ...
>> 
>> 
>> either way is ok, but we need to pick one way and stick with it.
>> 
>> 'db.connect -p' also shows (null) from a new mapset.
>> 
> 
> I think that this has to be urgently resolved.
> Glynn, please suggest a solution...
> 
> Markus
> 

______________________________
Michael Barton, Professor of Anthropology
School of Human, Evolution and Social Change
Arizona State University
Tempe, AZ  85287-2402
USA

voice: 480-965-6262; fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton




More information about the grass-dev mailing list