--- tiff/configure 2013-11-21 17:03:14.000000000 -0500 +++ tiff/configure 2014-06-09 14:00:22.000000000 -0400 @@ -8232,5 +8232,5 @@ - vars="tiff.c tiffJpeg.c tiffZip.c tiffPixar.c" + vars="tiff.c" for i in $vars; do case $i in --- tiff/tiff.c 2013-11-21 17:03:14.000000000 -0500 +++ tiff/tiff.c 2014-06-09 14:16:39.000000000 -0400 @@ -19,11 +19,15 @@ #endif #include "tkimg.h" -#include "tifftcl.h" -#include "zlibtcl.h" +#ifdef EXTERN +# undef EXTERN +#endif +#include +#include +#include #ifdef HAVE_STDLIB_H #undef HAVE_STDLIB_H #endif -#include "jpegtcl.h" +#include @@ -35,7 +39,4 @@ static int SetupTiffLibrary(Tcl_Interp * #include "init.c" -#include "tiffInt.h" - - extern DLLIMPORT int unlink(const char *); @@ -88,10 +89,4 @@ SetupTiffLibrary (interp) Tcl_Interp *interp; { - static int initialized = 0; - - if (Tifftcl_InitStubs(interp, TIFFTCL_VERSION, 0) == NULL) { - return TCL_ERROR; - } - if (errorMessage) { ckfree(errorMessage); @@ -105,35 +100,4 @@ SetupTiffLibrary (interp) } - /* - * Initialize jpeg and zlib too, for use by the CODEC's we register - * with the base TIFF library in this package. - */ - - if (Jpegtcl_InitStubs(interp, JPEGTCL_VERSION, 0) == NULL) { - return TCL_ERROR; - } - - if (!initialized) { - initialized = 1; - if ( - TIFFRegisterCODEC && TIFFError && TIFFPredictorInit && - _TIFFMergeFieldInfo && TIFFFlushData1 && _TIFFNoPostDecode && - TIFFTileRowSize && TIFFScanlineSize && _TIFFsetByteArray && - TIFFVSetField && TIFFSwabArrayOfShort - ) { - - if (Zlibtcl_InitStubs(interp, ZLIBTCL_VERSION, 0) == NULL) { - return TCL_ERROR; - } - TIFFRegisterCODEC (COMPRESSION_DEFLATE, "Deflate", TkimgTIFFInitZip); - TIFFRegisterCODEC (COMPRESSION_ADOBE_DEFLATE, "AdobeDeflate", TkimgTIFFInitZip); - - if (Jpegtcl_InitStubs(interp, JPEGTCL_VERSION, 0) == NULL) { - return TCL_ERROR; - } - TIFFRegisterCODEC (COMPRESSION_JPEG, "JPEG", TkimgTIFFInitJpeg); - TIFFRegisterCODEC (COMPRESSION_PIXARLOG, "PixarLog", TkimgTIFFInitPixar); - } - } return TCL_OK; } @@ -451,8 +415,6 @@ ObjRead(interp, data, format, imageHandl { TIFF *tif; - char *tempFileName = NULL, tempFileNameBuffer[256]; - int count, result; + int result; tkimg_MFile handle; - char buffer[1024]; char *dataPtr = NULL; @@ -461,35 +423,13 @@ ObjRead(interp, data, format, imageHandl } - if (TIFFClientOpen) { - if (handle.state != IMG_STRING) { - dataPtr = ckalloc((handle.length*3)/4 + 2); - handle.length = tkimg_Read(&handle, dataPtr, handle.length); - handle.data = dataPtr; - } - handle.state = 0; - tif = TIFFClientOpen("inline data", "r", (thandle_t) &handle, - readString, writeString, seekString, closeDummy, - sizeString, mapDummy, unMapDummy); - } else { - Tcl_Channel outchan; - tempFileName = tmpnam(tempFileNameBuffer); - outchan = tkimg_OpenFileChannel(interp, tempFileName, 0644); - if (!outchan) { - return TCL_ERROR; - } - - count = tkimg_Read(&handle, buffer, 1024); - while (count == 1024) { - Tcl_Write(outchan, buffer, count); - count = tkimg_Read(&handle, buffer, 1024); - } - if (count>0){ - Tcl_Write(outchan, buffer, count); - } - if (Tcl_Close(interp, outchan) == TCL_ERROR) { - return TCL_ERROR; - } - tif = TIFFOpen(tempFileName, "r"); - } + if (handle.state != IMG_STRING) { + dataPtr = ckalloc((handle.length*3)/4 + 2); + handle.length = tkimg_Read(&handle, dataPtr, handle.length); + handle.data = dataPtr; + } + handle.state = 0; + tif = TIFFClientOpen("inline data", "r", (thandle_t) &handle, + readString, writeString, seekString, closeDummy, + sizeString, mapDummy, unMapDummy); if (tif != NULL) { @@ -499,7 +439,4 @@ ObjRead(interp, data, format, imageHandl result = TCL_ERROR; } - if (tempFileName) { - unlink(tempFileName); - } if (result == TCL_ERROR) { Tcl_AppendResult(interp, errorMessage, (char *) NULL); @@ -526,37 +463,12 @@ ChnRead(interp, chan, fileName, format, { TIFF *tif; - char *tempFileName = NULL, tempFileNameBuffer[256]; - int count, result; - char buffer[1024]; - - if (TIFFClientOpen) { - tkimg_MFile handle; - handle.data = (char *) chan; - handle.state = IMG_CHAN; - tif = TIFFClientOpen(fileName, "r", (thandle_t) &handle, - readMFile, writeDummy, seekMFile, closeDummy, - sizeMFile, mapDummy, unMapDummy); - } else { - Tcl_Channel outchan; - tempFileName = tmpnam(tempFileNameBuffer); - outchan = tkimg_OpenFileChannel(interp, tempFileName, 0644); - if (!outchan) { - return TCL_ERROR; - } - - count = Tcl_Read(chan, buffer, 1024); - while (count == 1024) { - Tcl_Write(outchan, buffer, count); - count = Tcl_Read(chan, buffer, 1024); - } - if (count>0){ - Tcl_Write(outchan, buffer, count); - } - if (Tcl_Close(interp, outchan) == TCL_ERROR) { - return TCL_ERROR; - } + int result; + tkimg_MFile handle; - tif = TIFFOpen(tempFileName, "r"); - } + handle.data = (char *) chan; + handle.state = IMG_CHAN; + tif = TIFFClientOpen(fileName, "r", (thandle_t) &handle, + readMFile, writeDummy, seekMFile, closeDummy, + sizeMFile, mapDummy, unMapDummy); if (tif) { result = CommonRead(interp, tif, format, imageHandle, @@ -565,7 +477,4 @@ ChnRead(interp, chan, fileName, format, result = TCL_ERROR; } - if (tempFileName) { - unlink(tempFileName); - } if (result == TCL_ERROR) { Tcl_AppendResult(interp, errorMessage, (char *) NULL); @@ -635,5 +544,5 @@ CommonRead(interp, tif, format, imageHan npixels = w * h; - raster = (uint32*) TkimgTIFFmalloc(npixels * sizeof (uint32)); + raster = (uint32*) _TIFFmalloc(npixels * sizeof (uint32)); block.width = w; block.height = h; @@ -646,5 +555,5 @@ CommonRead(interp, tif, format, imageHan if (!TIFFReadRGBAImage(tif, w, h, raster, 0) || errorMessage) { - TkimgTIFFfree (raster); + _TIFFfree (raster); if (errorMessage) { Tcl_AppendResult(interp, errorMessage, (char *) NULL); @@ -663,5 +572,5 @@ CommonRead(interp, tif, format, imageHan } - TkimgTIFFfree (raster); + _TIFFfree (raster); TIFFClose(tif); return result; @@ -674,7 +583,6 @@ static int StringWrite( ) { TIFF *tif; - int result, comp; + int result, comp, length; tkimg_MFile handle; - char *tempFileName = NULL, tempFileNameBuffer[256]; Tcl_DString dstring; const char *mode; @@ -686,14 +594,9 @@ static int StringWrite( } - if (TIFFClientOpen) { - Tcl_DStringInit(&dstring); - tkimg_WriteInit(&dstring, &handle); - tif = TIFFClientOpen("inline data", mode, (thandle_t) &handle, - readString, writeString, seekString, closeDummy, - sizeString, mapDummy, unMapDummy); - } else { - tempFileName = tmpnam(tempFileNameBuffer); - tif = TIFFOpen(tempFileName,mode); - } + Tcl_DStringInit(&dstring); + tkimg_WriteInit(&dstring, &handle); + tif = TIFFClientOpen("inline data", mode, (thandle_t) &handle, + readString, writeString, seekString, closeDummy, + sizeString, mapDummy, unMapDummy); result = CommonWrite(interp, tif, comp, blockPtr); @@ -701,7 +604,4 @@ static int StringWrite( if (result != TCL_OK) { - if (tempFileName) { - unlink(tempFileName); - } Tcl_AppendResult(interp, errorMessage, (char *) NULL); ckfree(errorMessage); @@ -710,29 +610,8 @@ static int StringWrite( } - if (tempFileName) { - Tcl_Channel inchan; - char buffer[1024]; - inchan = tkimg_OpenFileChannel(interp, tempFileName, 0644); - if (!inchan) { - return TCL_ERROR; - } - tkimg_WriteInit(&data, &handle); - - result = Tcl_Read(inchan, buffer, 1024); - while ((result == TCL_OK) && !Tcl_Eof(inchan)) { - tkimg_Write(&handle, buffer, result); - result = Tcl_Read(inchan, buffer, 1024); - } - if (result == TCL_OK) { - tkimg_Write(&handle, buffer, result); - result = Tcl_Close(interp, inchan); - } - unlink(tempFileName); - } else { - int length = handle.length; - tkimg_WriteInit(&data, &handle); - tkimg_Write(&handle, Tcl_DStringValue(&dstring), length); - Tcl_DStringFree(&dstring); - } + length = handle.length; + tkimg_WriteInit(&data, &handle); + tkimg_Write(&handle, Tcl_DStringValue(&dstring), length); + Tcl_DStringFree(&dstring); tkimg_Putc(IMG_DONE, &handle); if (result == TCL_OK) { @@ -954,36 +833,2 @@ CommonWrite(interp, tif, comp, blockPtr) return TCL_OK; } - -void -TkimgTIFFfree (data) - tdata_t data; -{ - if (_TIFFfree) { - _TIFFfree(data); - } else { - ckfree((char *) data); - } -} - -tdata_t -TkimgTIFFmalloc(size) - tsize_t size; -{ - if (_TIFFmalloc) { - return _TIFFmalloc(size); - } else { - return ckalloc(size); - } -} - -tdata_t -TkimgTIFFrealloc(data, size) - tdata_t data; - tsize_t size; -{ - if (_TIFFrealloc) { - return _TIFFrealloc(data, size); - } else { - return ckrealloc(data, size); - } -}