# HG changeset patch # User Mark Brand # Date 1337891305 -7200 # Node ID 15cd103f94463ee7f8dff8a1568ff28e4b70883b # Parent 2267a00acc19bdf67261a157590fa469b298cb86 package gdal: add missing upstream patch diff -r 2267a00acc19 -r 15cd103f9446 src/gdal-1-fixes.patch --- /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 );