Markus Metz 546cd7c05b shapelib: safileio.c: ISO C does not allow extra ‘;’ outside of a function 8 years ago
..
Makefile 002bbe23df Keep all library dependencies in Grass.make 15 years ago
README 0f4b972c66 shapelib: avoid CPL fns 8 years ago
dbfopen.c 0f4b972c66 shapelib: avoid CPL fns 8 years ago
safileio.c 546cd7c05b shapelib: safileio.c: ISO C does not allow extra ‘;’ outside of a function 8 years ago
shapefil.h 8e2dc707a2 shapelib/DBF driver: re-sync to GDAL/OGR (https://trac.osgeo.org/grass/ticket/3079) 8 years ago
shpopen.c 8e2dc707a2 shapelib/DBF driver: re-sync to GDAL/OGR (https://trac.osgeo.org/grass/ticket/3079) 8 years ago

README

Update history of SHAPELIB copy:

* files shpopen.c,shapefil.h,dbfopen.c:
from ogr/ogrsf_frmts/shape/
* file safileio.c
from SHAPELIB itself (http://download.osgeo.org/shapelib/)

Last update
* taken from GDAL 2.1.2 and SHAPELIB 1.3.0 (Thu Nov 24 10:45:41 CET 2016)
* taken from GDAL 1.5.1-SVN (Sun Mar 30 11:20:43 CEST 2008)
* taken from GDAL 1.5.0-CVS (Wed Sep 5 13:48:48 CEST 2007)
* taken from GDAL 1.3.2-CVS (Sat Jun 17 22:08:04 CEST 2006)

Additional fixes:
* dbfopen.c
around line 1270: GDAL bug #809 (http://trac.osgeo.org/gdal/ticket/809)
remove CPLsnprintf
remove CPL_IGNORE_RET_VAL_INT
for WIN32, define snprintf as in shpopen.c

* shpopen.c
define CPL_UNUSED

* safileio.c
SHP_CVSID: ISO C does not allow extra ‘;’ outside of a function

* Use etc rather than "shapefil.h"
in shpopen.c, dbfopen.c, and safileio.c


full fix for dbf_open.c
-->
diff -up shapelib_gdal/dbfopen.c shapelib/dbfopen.c
--- shapelib_gdal/dbfopen.c 2016-10-24 13:00:32.000000000 +0200
+++ shapelib/dbfopen.c 2016-11-24 11:34:23.996675393 +0100
@@ -157,7 +157,7 @@
* Treat all blank numeric fields as null too.
*/

-#include "shapefil.h"
+#include

#include
#include
@@ -170,6 +170,12 @@
#define CPLsprintf sprintf
#endif

+#if defined(WIN32) || defined(_WIN32)
+# ifndef snprintf
+# define snprintf _snprintf
+# endif
+#endif
+
SHP_CVSID("$Id$")

#ifndef FALSE
@@ -177,8 +183,6 @@ SHP_CVSID("$Id: dbfopen.c,v 1.89 2011-07
# define TRUE 1
#endif

-CPL_INLINE static void CPL_IGNORE_RET_VAL_INT(CPL_UNUSED int unused) {}
-
/************************************************************************/
/* SfRealloc() */
/* */
@@ -616,7 +620,7 @@ DBFClose(DBFHandle psDBF)
if( psDBF->bNoHeader )
DBFWriteHeader( psDBF );

- CPL_IGNORE_RET_VAL_INT(DBFFlushRecord( psDBF ));
+ DBFFlushRecord( psDBF );

/* -------------------------------------------------------------------- */
/* Update last access date, and number of records if we have */
@@ -1273,8 +1277,8 @@ DBFGetFieldInfo( DBFHandle psDBF, int iF
else if( psDBF->pachFieldType[iField] == 'N'
|| psDBF->pachFieldType[iField] == 'F' )
{
- if( psDBF->panFieldDecimals[iField] > 0
- || psDBF->panFieldSize[iField] >= 10 )
+ if( psDBF->panFieldDecimals[iField] > 0 )
+/* || psDBF->panFieldSize[iField] >= 10 ) */ /* GDAL bug #809 */
return( FTDouble );
else
return( FTInteger );
@@ -1364,7 +1368,7 @@ static int DBFWriteAttribute(DBFHandle p

snprintf( szFormat, sizeof(szFormat), "%%%d.%df",
nWidth, psDBF->panFieldDecimals[iField] );
- CPLsnprintf(szSField, sizeof(szSField), szFormat, *((double *) pValue) );
+ snprintf(szSField, sizeof(szSField), szFormat, *((double *) pValue) );
if( (int) strlen(szSField) > psDBF->panFieldSize[iField] )
{
szSField[psDBF->panFieldSize[iField]] = '\0';
<--

full fix for shpopen.c
-->
diff -up shapelib_gdal/shpopen.c shapelib/shpopen.c
--- shapelib_gdal/shpopen.c 2016-10-24 13:00:32.000000000 +0200
+++ shapelib/shpopen.c 2016-11-24 10:25:58.460964573 +0100
@@ -265,7 +265,7 @@
*
*/

-#include "shapefil.h"
+#include

#include
#include
@@ -276,6 +276,10 @@

SHP_CVSID("$Id$")

+#ifndef CPL_UNUSED
+#define CPL_UNUSED
+#endif
+
typedef unsigned char uchar;

#if UINT_MAX == 65535
<--

full fix for safileio.c
-->
diff -up shapelib_gdal/safileio.c shapelib/safileio.c
--- shapelib_gdal/safileio.c 2008-01-16 21:05:14.000000000 +0100
+++ shapelib/safileio.c 2016-11-24 10:25:42.734991066 +0100
@@ -56,7 +56,7 @@
*
*/

-#include "shapefil.h"
+#include

#include
#include
@@ -65,7 +65,7 @@
#include
#include

-SHP_CVSID("$Id$");
+SHP_CVSID("$Id$")

#ifdef SHPAPI_UTF8_HOOKS
# ifdef SHPAPI_WINDOWS
<--