[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#698341: pu: package spatialite/3.0.0~beta20110817-3+deb7u1



retitle 698341 pu: package spatialite/3.0.0~beta20110817-3+deb7u1
user 698341 release.debian.org@packages.debian.org
usertags 698341 = pu
thanks

Hello RT,

let's try to fix this instead of going for removal.

I've applied the debdiff prepared by Felix Geyer in #683075 [0], and checked
that it compiles fine in wheezy.

In any case, I'm attaching the final diff (modulo
s/UNRELEASED/testing-proposed-updates/) to this email.

The other bug afflicting spatialite is #664547. To fix this, we need to split
some huge file (I guess it's spatialite.c, 17k+ LOC) into smaller files, so
that gcc doesn't die on some arches. Would you be ok with such a huge patch?

Kindly,
David

[0]: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683075#44

-- 
 . ''`.   Debian developer | http://wiki.debian.org/DavidPaleino
 : :'  : Linuxer #334216 --|-- http://www.hanskalabs.net/
 `. `'`  GPG: 1392B174 ----|---- http://deb.li/dapal
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174
diff --git a/debian/changelog b/debian/changelog
index be5e24a..35c1a73 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+spatialite (3.0.0~beta20110817-3+deb7u1) UNRELEASED; urgency=low
+
+  [ Felix Geyer ]
+  * Fix FTBFS in wheezy. (Closes: #683075)
+    - Add 05-fix_libgeos_search.patch from Evgeni Golov to fix configure checks.
+    - Add 06-freexl_compat.patch to restore compatibility with freexl in wheezy.
+
+ -- David Paleino <dapal@debian.org>  Sat, 19 Jan 2013 08:51:49 +0100
+
 spatialite (3.0.0~beta20110817-3) unstable; urgency=medium
 
   [ Francesco Paolo Lovergine ]
diff --git a/debian/patches/05-fix_libgeos_search.patch b/debian/patches/05-fix_libgeos_search.patch
new file mode 100644
index 0000000..a048771
--- /dev/null
+++ b/debian/patches/05-fix_libgeos_search.patch
@@ -0,0 +1,74 @@
+From: Evgeni Golov <evgeni@debian.org>
+Subject: fix linking with libgeos
+Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683075#39
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683075
+
+---
+ libspatialite/configure       |    4 ++--
+ libspatialite/configure.ac    |    4 ++--
+ spatialite-tools/configure    |    2 +-
+ spatialite-tools/configure.ac |    2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+--- spatialite.orig/libspatialite/configure
++++ spatialite/libspatialite/configure
+@@ -16593,7 +16593,7 @@ for ac_lib in '' geos_c; do
+     ac_res="none required"
+   else
+     ac_res=-l$ac_lib
+-    LIBS="-l$ac_lib -lm -lgeos $ac_func_search_save_LIBS"
++    LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+   fi
+   if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_search_GEOSTopologyPreserveSimplify=$ac_res
+@@ -16663,7 +16663,7 @@ for ac_lib in '' geos_c; do
+     ac_res="none required"
+   else
+     ac_res=-l$ac_lib
+-    LIBS="-l$ac_lib -lm -lgeos $ac_func_search_save_LIBS"
++    LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+   fi
+   if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_search_GEOSCoveredBy=$ac_res
+--- spatialite.orig/libspatialite/configure.ac
++++ spatialite/libspatialite/configure.ac
+@@ -120,7 +120,7 @@ AC_ARG_ENABLE(geos, [AS_HELP_STRING(
+ if test x"$enable_geos" != "xno"; then
+   OMIT_GEOS_FLAGS=
+   AC_CHECK_HEADERS(geos_c.h,, [AC_MSG_ERROR([cannot find geos_c.h, bailing out])])
+-  AC_SEARCH_LIBS(GEOSTopologyPreserveSimplify,geos_c,,AC_MSG_ERROR(['libgeos_c' is required but it doesn't seems to be installed on this system.]),-lm -lgeos)
++  AC_SEARCH_LIBS(GEOSTopologyPreserveSimplify,geos_c,,AC_MSG_ERROR(['libgeos_c' is required but it doesn't seems to be installed on this system.]),)
+   #-----------------------------------------------------------------------
+   #   --enable-geosadvanced
+   #
+@@ -129,7 +129,7 @@ if test x"$enable_geos" != "xno"; then
+ 	  [], [geosadvanced=yes])
+   if test x"$enable_geosadvanced" != "xno"; then
+ 	  GEOSADVANCED_FLAGS=-DGEOS_ADVANCED
+-	  AC_SEARCH_LIBS(GEOSCoveredBy,geos_c,,AC_MSG_ERROR([obsolete 'libgeos_c' (< v.3.3.0). please retry specifying: --disable-geosadvanced.]),-lm -lgeos)
++	  AC_SEARCH_LIBS(GEOSCoveredBy,geos_c,,AC_MSG_ERROR([obsolete 'libgeos_c' (< v.3.3.0). please retry specifying: --disable-geosadvanced.]),)
+   else
+ 	  GEOSADVANCED_FLAGS=
+   fi
+--- spatialite.orig/spatialite-tools/configure
++++ spatialite/spatialite-tools/configure
+@@ -16547,7 +16547,7 @@ if test "${ac_cv_lib_geos_c_GEOSTopology
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgeos_c -lm -lgeos $LIBS"
++LIBS="-lgeos_c $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+--- spatialite.orig/spatialite-tools/configure.ac
++++ spatialite/spatialite-tools/configure.ac
+@@ -72,7 +72,7 @@ AC_SUBST(READLINE_LIBS)
+ 
+ AC_CHECK_LIB(expat,XML_ParserCreate,,AC_MSG_ERROR(['expat' is required but it doesn't seems to be installed on this system.]))
+ AC_CHECK_LIB(proj,pj_init_plus,,AC_MSG_ERROR(['libproj' is required but it doesn't seems to be installed on this system.]),-lm)
+-AC_CHECK_LIB(geos_c,GEOSTopologyPreserveSimplify,,AC_MSG_ERROR(['libgeos_c' is required but it doesn't seems to be installed on this system.]),-lm -lgeos)
++AC_CHECK_LIB(geos_c,GEOSTopologyPreserveSimplify,,AC_MSG_ERROR(['libgeos_c' is required but it doesn't seems to be installed on this system.]),)
+ 
+ PKG_CHECK_MODULES([LIBFREEXL], [freexl], , AC_MSG_ERROR(['libfreexl' is required but it doesn't seems to be installed on this system.]))
+ LIBSPATIALITE_CFLAGS=
diff --git a/debian/patches/06-freexl_compat.patch b/debian/patches/06-freexl_compat.patch
new file mode 100644
index 0000000..6b877aa
--- /dev/null
+++ b/debian/patches/06-freexl_compat.patch
@@ -0,0 +1,390 @@
+From: Felix Geyer <fgeyer@debian.org>
+Subject: fix compatibility issues with FreeXL
+Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683075#44
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683075
+
+---
+ libspatialite/src/spatialite/virtualXL.c |  115 ++++++++++++++-----------------
+ spatialite-tools/shapefiles.c            |   69 ++++++++----------
+ 2 files changed, 83 insertions(+), 101 deletions(-)
+
+--- spatialite.orig/libspatialite/src/spatialite/virtualXL.c
++++ spatialite/libspatialite/src/spatialite/virtualXL.c
+@@ -264,30 +264,25 @@ vXL_create (sqlite3 * db, void *pAux, in
+ 	  /* fetching comun names */
+ 	  for (col = 0; col < columns; col++)
+ 	    {
+-		unsigned char type;
+-		int int_value;
+-		double dbl_value;
+-		const char *text_value;
+-		int ret =
+-		    freexl_get_cell_value (handle, 0, col, &type, &int_value,
+-					   &dbl_value, &text_value);
++		FreeXL_CellValue cell;
++		int ret = freexl_get_cell_value (handle, 0, col, &cell);
+ 		if (ret != FREEXL_OK)
+ 		    sprintf (dummyName, "col_%d", col);
+ 		else
+ 		  {
+-		      if (type == FREEXL_CELL_INT)
+-			  sprintf (dummyName, "%d", int_value);
+-		      else if (type == FREEXL_CELL_DOUBLE)
+-			  sprintf (dummyName, "%1.2f", dbl_value);
+-		      else if (type == FREEXL_CELL_TEXT
+-			       || type == FREEXL_CELL_SST_TEXT
+-			       || type == FREEXL_CELL_DATE
+-			       || type == FREEXL_CELL_DATETIME
+-			       || type == FREEXL_CELL_TIME)
++		      if (cell.type == FREEXL_CELL_INT)
++			  sprintf (dummyName, "%d", cell.value.int_value);
++		      else if (cell.type == FREEXL_CELL_DOUBLE)
++			  sprintf (dummyName, "%1.2f", cell.value.double_value);
++		      else if (cell.type == FREEXL_CELL_TEXT
++			       || cell.type == FREEXL_CELL_SST_TEXT
++			       || cell.type == FREEXL_CELL_DATE
++			       || cell.type == FREEXL_CELL_DATETIME
++			       || cell.type == FREEXL_CELL_TIME)
+ 			{
+-			    int len = strlen (text_value);
++			    int len = strlen (cell.value.text_value);
+ 			    if (len < 256)
+-				strcpy (dummyName, text_value);
++				strcpy (dummyName, cell.value.text_value);
+ 			    else
+ 				sprintf (dummyName, "col_%d", col);
+ 			}
+@@ -495,10 +490,7 @@ static int
+ vXL_eval_constraints (VirtualXLCursorPtr cursor)
+ {
+ /* evaluating Filter constraints */
+-    unsigned char type;
+-    int int_value;
+-    double dbl_value;
+-    const char *text_value;
++    FreeXL_CellValue cell;
+     VirtualXLConstraintPtr pC = cursor->firstConstraint;
+     if (pC == NULL)
+ 	return 1;
+@@ -544,34 +536,33 @@ vXL_eval_constraints (VirtualXLCursorPtr
+ 	      && pC->iColumn <= cursor->pVtab->columns)
+ 	      freexl_get_cell_value (cursor->pVtab->XL_handle,
+ 				     cursor->current_row - 1, pC->iColumn - 1,
+-				     &type, &int_value, &dbl_value,
+-				     &text_value);
++				     &cell);
+ 	  else
+-	      type = FREEXL_CELL_NULL;
+-	  if (type == FREEXL_CELL_INT)
++	      cell.type = FREEXL_CELL_NULL;
++	  if (cell.type == FREEXL_CELL_INT)
+ 	    {
+ 		if (pC->valueType == 'I')
+ 		  {
+ 		      switch (pC->op)
+ 			{
+ 			case SQLITE_INDEX_CONSTRAINT_EQ:
+-			    if (int_value == pC->intValue)
++			    if (cell.value.int_value == pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GT:
+-			    if (int_value > pC->intValue)
++			    if (cell.value.int_value > pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LE:
+-			    if (int_value <= pC->intValue)
++			    if (cell.value.int_value <= pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LT:
+-			    if (int_value < pC->intValue)
++			    if (cell.value.int_value < pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GE:
+-			    if (int_value >= pC->intValue)
++			    if (cell.value.int_value >= pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			};
+@@ -581,52 +572,52 @@ vXL_eval_constraints (VirtualXLCursorPtr
+ 		      switch (pC->op)
+ 			{
+ 			case SQLITE_INDEX_CONSTRAINT_EQ:
+-			    if (int_value == pC->dblValue)
++			    if (cell.value.int_value == pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GT:
+-			    if (int_value > pC->dblValue)
++			    if (cell.value.int_value > pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LE:
+-			    if (int_value <= pC->dblValue)
++			    if (cell.value.int_value <= pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LT:
+-			    if (int_value < pC->dblValue)
++			    if (cell.value.int_value < pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GE:
+-			    if (int_value >= pC->dblValue)
++			    if (cell.value.int_value >= pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			};
+ 		  }
+ 	    }
+-	  if (type == FREEXL_CELL_DOUBLE)
++	  if (cell.type == FREEXL_CELL_DOUBLE)
+ 	    {
+ 		if (pC->valueType == 'I')
+ 		  {
+ 		      switch (pC->op)
+ 			{
+ 			case SQLITE_INDEX_CONSTRAINT_EQ:
+-			    if (dbl_value == pC->intValue)
++			    if (cell.value.double_value == pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GT:
+-			    if (dbl_value > pC->intValue)
++			    if (cell.value.double_value > pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LE:
+-			    if (dbl_value <= pC->intValue)
++			    if (cell.value.double_value <= pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LT:
+-			    if (dbl_value < pC->intValue)
++			    if (cell.value.double_value < pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GE:
+-			    if (dbl_value >= pC->intValue)
++			    if (cell.value.double_value >= pC->intValue)
+ 				ok = 1;
+ 			    break;
+ 			};
+@@ -636,33 +627,35 @@ vXL_eval_constraints (VirtualXLCursorPtr
+ 		      switch (pC->op)
+ 			{
+ 			case SQLITE_INDEX_CONSTRAINT_EQ:
+-			    if (dbl_value == pC->dblValue)
++			    if (cell.value.double_value == pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GT:
+-			    if (dbl_value > pC->dblValue)
++			    if (cell.value.double_value > pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LE:
+-			    if (dbl_value <= pC->dblValue)
++			    if (cell.value.double_value <= pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_LT:
+-			    if (dbl_value < pC->dblValue)
++			    if (cell.value.double_value < pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			case SQLITE_INDEX_CONSTRAINT_GE:
+-			    if (dbl_value >= pC->dblValue)
++			    if (cell.value.double_value >= pC->dblValue)
+ 				ok = 1;
+ 			    break;
+ 			};
+ 		  }
+ 	    }
+-	  if ((type == FREEXL_CELL_TEXT || type == FREEXL_CELL_SST_TEXT
+-	       || type == FREEXL_CELL_DATE || type == FREEXL_CELL_DATETIME
+-	       || type == FREEXL_CELL_TIME) && pC->valueType == 'T')
++	  if ((cell.type == FREEXL_CELL_TEXT
++	       || cell.type == FREEXL_CELL_SST_TEXT
++	       || cell.type == FREEXL_CELL_DATE
++	       || cell.type == FREEXL_CELL_DATETIME
++	       || cell.type == FREEXL_CELL_TIME) && pC->valueType == 'T')
+ 	    {
+-		int ret = strcmp (text_value, pC->txtValue);
++		int ret = strcmp (cell.value.text_value, pC->txtValue);
+ 		switch (pC->op)
+ 		  {
+ 		  case SQLITE_INDEX_CONSTRAINT_EQ:
+@@ -796,10 +789,7 @@ vXL_column (sqlite3_vtab_cursor * pCurso
+ 	    int column)
+ {
+ /* fetching value for the Nth column */
+-    unsigned char type;
+-    int int_value;
+-    double dbl_value;
+-    const char *text_value;
++    FreeXL_CellValue cell;
+     VirtualXLCursorPtr cursor = (VirtualXLCursorPtr) pCursor;
+     if (column == 0)
+       {
+@@ -814,25 +804,24 @@ vXL_column (sqlite3_vtab_cursor * pCurso
+ 	&& cursor->current_row <= cursor->pVtab->rows
+ 	&& column <= cursor->pVtab->columns)
+ 	freexl_get_cell_value (cursor->pVtab->XL_handle,
+-			       cursor->current_row - 1, column - 1, &type,
+-			       &int_value, &dbl_value, &text_value);
++			       cursor->current_row - 1, column - 1, &cell);
+     else
+-	type = FREEXL_CELL_NULL;
+-    switch (type)
++	cell.type = FREEXL_CELL_NULL;
++    switch (cell.type)
+       {
+       case FREEXL_CELL_INT:
+-	  sqlite3_result_int (pContext, int_value);
++	  sqlite3_result_int (pContext, cell.value.int_value);
+ 	  break;
+       case FREEXL_CELL_DOUBLE:
+-	  sqlite3_result_double (pContext, dbl_value);
++	  sqlite3_result_double (pContext, cell.value.double_value);
+ 	  break;
+       case FREEXL_CELL_TEXT:
+       case FREEXL_CELL_SST_TEXT:
+       case FREEXL_CELL_DATE:
+       case FREEXL_CELL_DATETIME:
+       case FREEXL_CELL_TIME:
+-	  sqlite3_result_text (pContext, text_value, strlen (text_value),
+-			       SQLITE_STATIC);
++	  sqlite3_result_text (pContext, cell.value.text_value,
++			       strlen (cell.value.text_value), SQLITE_STATIC);
+ 	  break;
+       default:
+ 	  sqlite3_result_null (pContext);
+--- spatialite.orig/spatialite-tools/shapefiles.c
++++ spatialite/spatialite-tools/shapefiles.c
+@@ -2600,10 +2600,7 @@ load_XL (sqlite3 * sqlite, const char *p
+     unsigned int rows;
+     unsigned short columns;
+     unsigned short col;
+-    unsigned char type;
+-    int int_value;
+-    double dbl_value;
+-    const char *text_value;
++    FreeXL_CellValue cell;
+     int already_exists = 0;
+ /* checking if TABLE already exists */
+     sprintf (sql,
+@@ -2684,26 +2681,24 @@ load_XL (sqlite3 * sqlite, const char *p
+ 		for (col = 0; col < columns; col++)
+ 		  {
+ 		      ret =
+-			  freexl_get_cell_value (xl_handle, 0, col, &type,
+-						 &int_value, &dbl_value,
+-						 &text_value);
++			  ret = freexl_get_cell_value (xl_handle, 0, col, &cell);
+ 		      if (ret != FREEXL_OK)
+ 			  sprintf (dummyName, "col_%d", col);
+ 		      else
+ 			{
+-			    if (type == FREEXL_CELL_INT)
+-				sprintf (dummyName, "%d", int_value);
+-			    else if (type == FREEXL_CELL_DOUBLE)
+-				sprintf (dummyName, "%1.2f", dbl_value);
+-			    else if (type == FREEXL_CELL_TEXT
+-				     || type == FREEXL_CELL_SST_TEXT
+-				     || type == FREEXL_CELL_DATE
+-				     || type == FREEXL_CELL_DATETIME
+-				     || type == FREEXL_CELL_TIME)
++			    if (cell.type == FREEXL_CELL_INT)
++				sprintf (dummyName, "%d", cell.value.int_value);
++			    else if (cell.type == FREEXL_CELL_DOUBLE)
++				sprintf (dummyName, "%1.2f", cell.value.double_value);
++			    else if (cell.type == FREEXL_CELL_TEXT
++				     || cell.type == FREEXL_CELL_SST_TEXT
++				     || cell.type == FREEXL_CELL_DATE
++				     || cell.type == FREEXL_CELL_DATETIME
++				     || cell.type == FREEXL_CELL_TIME)
+ 			      {
+-				  int len = strlen (text_value);
++				  int len = strlen (cell.value.text_value);
+ 				  if (len < 256)
+-				      strcpy (dummyName, text_value);
++				      strcpy (dummyName, cell.value.text_value);
+ 				  else
+ 				      sprintf (dummyName, "col_%d", col);
+ 			      }
+@@ -2745,25 +2740,24 @@ load_XL (sqlite3 * sqlite, const char *p
+ 	  if (first_titles)
+ 	    {
+ 		ret =
+-		    freexl_get_cell_value (xl_handle, 0, col, &type, &int_value,
+-					   &dbl_value, &text_value);
++		    freexl_get_cell_value (xl_handle, 0, col, &cell);
+ 		if (ret != FREEXL_OK)
+ 		    sprintf (dummyName, "col_%d", col);
+ 		else
+ 		  {
+-		      if (type == FREEXL_CELL_INT)
+-			  sprintf (dummyName, "%d", int_value);
+-		      else if (type == FREEXL_CELL_DOUBLE)
+-			  sprintf (dummyName, "%1.2f", dbl_value);
+-		      else if (type == FREEXL_CELL_TEXT
+-			       || type == FREEXL_CELL_SST_TEXT
+-			       || type == FREEXL_CELL_DATE
+-			       || type == FREEXL_CELL_DATETIME
+-			       || type == FREEXL_CELL_TIME)
++		      if (cell.type == FREEXL_CELL_INT)
++			  sprintf (dummyName, "%d", cell.value.int_value);
++		      else if (cell.type == FREEXL_CELL_DOUBLE)
++			  sprintf (dummyName, "%1.2f", cell.value.double_value);
++		      else if (cell.type == FREEXL_CELL_TEXT
++			       || cell.type == FREEXL_CELL_SST_TEXT
++			       || cell.type == FREEXL_CELL_DATE
++			       || cell.type == FREEXL_CELL_DATETIME
++			       || cell.type == FREEXL_CELL_TIME)
+ 			{
+-			    int len = strlen (text_value);
++			    int len = strlen (cell.value.text_value);
+ 			    if (len < 256)
+-				strcpy (dummyName, text_value);
++				strcpy (dummyName, cell.value.text_value);
+ 			    else
+ 				sprintf (dummyName, "col_%d", col);
+ 			}
+@@ -2810,27 +2804,26 @@ load_XL (sqlite3 * sqlite, const char *p
+ 	    {
+ 		/* column values */
+ 		ret =
+-		    freexl_get_cell_value (xl_handle, current_row, col, &type,
+-					   &int_value, &dbl_value, &text_value);
++		    freexl_get_cell_value (xl_handle, current_row, col, &cell);
+ 		if (ret != FREEXL_OK)
+ 		    sqlite3_bind_null (stmt, col + 1);
+ 		else
+ 		  {
+-		      switch (type)
++		      switch (cell.type)
+ 			{
+ 			case FREEXL_CELL_INT:
+-			    sqlite3_bind_int (stmt, col + 1, int_value);
++			    sqlite3_bind_int (stmt, col + 1, cell.value.int_value);
+ 			    break;
+ 			case FREEXL_CELL_DOUBLE:
+-			    sqlite3_bind_double (stmt, col + 1, dbl_value);
++			    sqlite3_bind_double (stmt, col + 1, cell.value.double_value);
+ 			    break;
+ 			case FREEXL_CELL_TEXT:
+ 			case FREEXL_CELL_SST_TEXT:
+ 			case FREEXL_CELL_DATE:
+ 			case FREEXL_CELL_DATETIME:
+ 			case FREEXL_CELL_TIME:
+-			    sqlite3_bind_text (stmt, col + 1, text_value,
+-					       strlen (text_value),
++			    sqlite3_bind_text (stmt, col + 1, cell.value.text_value,
++					       strlen (cell.value.text_value),
+ 					       SQLITE_STATIC);
+ 			    break;
+ 			default:
diff --git a/debian/patches/series b/debian/patches/series
index 95d71db..6915248 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,5 @@
 02-fix_version-info.patch
 03-fix_typos.patch
 04-fix_missing_define.patch
+05-fix_libgeos_search.patch
+06-freexl_compat.patch

Attachment: signature.asc
Description: PGP signature


Reply to: