[GRASS5] Re: GPJ_osr_to_grass

Radim Blazek radim.blazek at gmail.com
Fri Jan 27 13:30:10 EST 2006

There was also another bug involved (G_asprintf, BTW
use G_store to make a copy of a string; BTW2 asprintf was never
used on Linux).

I have submited some fixes to QGIS and GRASS. It seems
that QGIS+GRASS now work on Windows and Linux
if both are in HEAD. Unfortunately QGIS HEAD does not
work with old version of GRASS (not fixed, 6.0.x).



On 1/27/06, Paul Kelly <paul-grass at stjohnspoint.co.uk> wrote:
> Hello Radim
> On Fri, 27 Jan 2006, Radim Blazek wrote:
> [...]
> > but in the body it is used as OGRSpatialReferenceH not OGRSpatialReferenceH*,
> > for example OSRMorphFromESRI( hSRS ) which is defined as
> > OGRErr OSRMorphFromESRI( OGRSpatialReferenceH hSRS )
> >
> > The parameter should be changed to OGRSpatialReferenceH hSRS
> > or should it be used in the body as *hSRS? It seems that in GRASS
> > is the function called with OGRSpatialReferenceH*.
> > How can it work on Linux? On Windows it either crashes if
> > the parameter is passed as (void **) OGRSpatialReferenceH or
> > does not work if passed as OGRSpatialReferenceH*.
> Yes I think there is a bug there. I remember not totally understanding it
> when I was writing it and being confused by the abstraction in the OGR
> function definitions. I think the OSRMorphFromESRI() function might be a
> problem, as it changes the contents of the OGRSpatialReferenceH structure. All
> the other function calls just read from it, but it writes to it. Could you
> try the attached patch which creates a copy of the OGRSpatialReferenceH
> structure only for use in the GPJ_osr_to_grass() function, and see if it
> fixes the problem or changes anything? I am still not 100% sure what is
> wrong.
> Paul

More information about the grass-dev mailing list