[gdal-dev] Re: [GRASS-dev] Updated OGR/SHAPELIB based DBF driver crashing with GRASS SVN

Frank Warmerdam warmerdam at pobox.com
Wed Apr 9 13:01:44 EDT 2008


Glynn Clements wrote:
> Markus Neteler wrote:
> 
>> after syncing (as regularly) the DBF driver from SHAPELIB embedded
>> in OGR, we face the problem that it no longer works with older GDAL
>> versions than current SVN:
>>
>> http://trac.osgeo.org/grass/ticket/110
>>
>> I don't know what to do. In essence, I don't want to fork our version
>> from yours.
>>
>> Any ideas?
> 
> I suggest using a "stub" implementation of the I/O hooks. E.g.:
> 
> typedef struct {
>     FILE*     (*FOpen) ( const char *filename, const char *path);
>     size_t    (*FRead) ( void *p, size_t size, size_t nmemb, FILE* file);
>     size_t    (*FWrite)( void *p, size_t size, size_t nmemb, FILE* file);
>     long      (*FSeek) ( FILE* file, long offset, int whence );
>     long      (*FTell) ( FILE* file );
>     int       (*FFlush)( FILE* file );
>     int       (*FClose)( FILE* file );
>     void      (*Error) ( const char *message );
> } SAHooks;
> 
> static void error_fn( const char *message )
> {
>     G_fatal_error("%s", message);
> }
> 
> static void SASetupDefaultHooks( SAHooks *psHooks )
> {
>     psHooks->FOpen  = fopen;
>     psHooks->FRead  = fread;
>     psHooks->FWrite = fwrite;
>     psHooks->FSeek  = fseek;
>     psHooks->FTell  = ftell;
>     psHooks->FFlush = fflush;
>     psHooks->FClose = fclose;
>     psHooks->Error  = error_fn;
> }
>

Folks,

I'm just trying to catch up on this topic.  There is already a stdio
based implementation in shapelib itself.  I have attached it,and it is
normally in a file called safileio.c.

I'm afraid I'm uncertain of the implications of mixing the Shapelib 1.3
code with GDAL's using Shapelib 1.2.  It seems potentially like it could
be a problem.

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: safileio.c
Type: text/x-csrc
Size: 9678 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/gdal-dev/attachments/20080409/f91cd506/safileio.bin


More information about the gdal-dev mailing list