changeset 2547:15cd103f9446

package gdal: add missing upstream patch
author Mark Brand <mabrand@mabrand.nl>
date Thu, 24 May 2012 22:28:25 +0200
parents 2267a00acc19
children f79b2ad2be45
files src/gdal-1-fixes.patch
diffstat 1 files changed, 54 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gdal-1-fixes.patch	Thu May 24 22:28:25 2012 +0200
@@ -0,0 +1,54 @@
+This file is part of MXE.
+See index.html for further information.
+
+Taken from http://trac.osgeo.org/gdal/changeset/24491?format=diff&new=24491
+
+Index: gdal/frmts/gif/gifdataset.cpp
+===================================================================
+--- gdal/frmts/gif/gifdataset.cpp	(revision 23621)
++++ gdal/frmts/gif/gifdataset.cpp	(revision 24491)
+@@ -471,4 +471,26 @@
+ 
+ /************************************************************************/
++/*                        GDALPrintGifError()                           */
++/************************************************************************/
++
++static void GDALPrintGifError(const char* pszMsg)
++{
++/* GIFLIB_MAJOR is only defined in libgif >= 4.2.0 */
++/* libgif 4.2.0 has retired PrintGifError() and added GifErrorString() */
++#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && \
++        ((GIFLIB_MAJOR == 4 && GIFLIB_MINOR >= 2) || GIFLIB_MAJOR > 4)
++    /* Static string actually, hence the const char* cast */
++    const char* pszGIFLIBError = (const char*) GifErrorString();
++    if (pszGIFLIBError == NULL)
++        pszGIFLIBError = "Unknown error";
++    CPLError( CE_Failure, CPLE_AppDefined,
++              "%s. GIFLib Error : %s", pszMsg, pszGIFLIBError );
++#else
++    PrintGifError();
++    CPLError( CE_Failure, CPLE_AppDefined, "%s", pszMsg );
++#endif
++}
++
++/************************************************************************/
+ /*                             CreateCopy()                             */
+ /************************************************************************/
+@@ -597,7 +619,5 @@
+     {
+         FreeMapObject(psGifCT);
+-        PrintGifError();
+-        CPLError( CE_Failure, CPLE_AppDefined, 
+-                  "Error writing gif file." );
++        GDALPrintGifError("Error writing gif file.");
+         EGifCloseFile(hGifFile);
+         VSIFCloseL( fp );
+@@ -623,7 +643,5 @@
+     if (EGifPutImageDesc(hGifFile, 0, 0, nXSize, nYSize, bInterlace, NULL) == GIF_ERROR )
+     {
+-        PrintGifError();
+-        CPLError( CE_Failure, CPLE_AppDefined, 
+-                  "Error writing gif file." );
++        GDALPrintGifError("Error writing gif file.");
+         EGifCloseFile(hGifFile);
+         VSIFCloseL( fp );