[GRASS-dev] Re: [GRASS GIS] #197: sfd support for r.terraflow
GRASS GIS
trac at osgeo.org
Tue Jul 1 21:30:13 EDT 2008
#197: sfd support for r.terraflow
--------------------------+-------------------------------------------------
Reporter: adanner | Owner: grass-dev at lists.osgeo.org
Type: defect | Status: new
Priority: major | Milestone: 7.0.0
Component: Raster | Version: svn-trunk
Resolution: | Keywords: terraflow r.terraflow
Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by glynn):
Replying to [comment:8 adanner]:
> > Correct. Which is why the interface needs to be fixed in C; i.e. add
the "const" to the fields of "struct Option" in gis.h. Having the compiler
remind people about this on a regular basis is the best way to make it
happen.
> >
> > Actually, I'll look into that side of it now.
>
> Thanks, that eliminates many of the warnings. There are only four left
on options->answer, but I'm content with only four warnings. Fixing those
last four require some tedious buffer creation/copying.
It should suffice to use:
opt->answer = G_store("literal");
The current interface permits modules to modify the ->answer field, and
some do.
Hmm. Actually, changing the "answer" field only causes compilation
failures for 3 modules (d.linegraph, i.atcorr and r.terraflow).
d.linegraph does actually modify the value in place, but that isn't hard
to fix. The other two only complain because they're in C++.
However, there are quite a few "incompatible pointer type" warnings. I
suspect that most of those are just because someone simply forgot to add
the "const" to a parameter declaration, but checking for any cases where
it does actually matter could take a while.
The hardest ones to deal with are where pointers are passed to the DBMI
functions (directly or through the vector functions), as hardly any char*
parameters have the "const" qualifier.
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/197#comment:9>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list