[GRASS5] Re: [GRASS-CVS] glynn: grass51/general/g.parser
main.c,2.0,2.1
Hamish
hamish_nospam at yahoo.com
Sat Dec 4 22:22:04 EST 2004
> > 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.
?
Hamish
More information about the grass-dev
mailing list