2007-11-05 Juan Manuel Guerrero * src/cmsnamed.c [__DJGPP__]: For DJGPP use pathconf to determinate at runtime the max path length. * src/cmsio1.c [__DJGPP__]: For DJGPP use pathconf to determinate at runtime the max path length. * src/cmsio0.c [__DJGPP__]: For DJGPP use pathconf to determinate at runtime the max path length. * src/cmscgats.c [__DJGPP__]: For DJGPP use pathconf to determinate at runtime the max path length. (isabsolutepath) [__DJGPP__]: Check if path is DOS absolute. * samples/icctrans.c [__DJGPP__]: For DJGPP use pathconf to determinate at runtime the max path length. * include/lcms.h [MAX_PATH]: For DJGPP use 260 as default for MAX_PATH. * src/cmscgats.c [__DJGPP__]: Include declarations of djgpp's CVS versions of snprintf and vsnprintf. * src/cmserr.c [__DJGPP__]: Ditto. * src/cmsps.c [__DJGPP__]: Ditto. 2007-08-13 Juan Manuel Guerrero * include/icc34.h.in [__DJGPP__]: Select a sane default for different size types. * testbed/testcms.c (GetInfoTest): Change illicit hard coded name to a clean SFN. (Test_sRGB): Ditto (RealProfilesTest): Ditto (TestDeviceLinkGeneration): Ditto (SpeedTest): Ditto (SpeedTest2): Ditto (TestPostScript): Ditto diff -aprNU5 lcms-1.17.orig/include/icc34.h.in lcms-1.17/include/icc34.h.in --- lcms-1.17.orig/include/icc34.h.in 2007-05-25 14:04:02 +0000 +++ lcms-1.17/include/icc34.h.in 2007-11-05 18:54:04 +0000 @@ -204,11 +204,11 @@ typedef short icInt16Number; typedef __int32_t icInt32Number; typedef __int32_t icInt64Number[2]; #else -#if defined(__GNUC__) || defined(__unix__) || defined(__unix) +#if (defined(__GNUC__) || defined(__unix__) || defined(__unix)) && !defined(__DJGPP__) #include #if defined(__sun) || defined(__hpux) || defined (__MINGW) || defined(__MINGW32__) diff -aprNU5 lcms-1.17.orig/include/lcms.h lcms-1.17/include/lcms.h --- lcms-1.17.orig/include/lcms.h 2007-07-27 10:00:00 +0000 +++ lcms-1.17/include/lcms.h 2007-11-05 21:35:04 +0000 @@ -211,11 +211,15 @@ typedef void *LPVOID; #define LOWORD(l) ((WORD)(l)) #define HIWORD(l) ((WORD)((DWORD)(l) >> 16)) #ifndef MAX_PATH +# ifdef __DJGPP__ +# define MAX_PATH (260) /* Max value from pathconf. */ +# else # define MAX_PATH (256) +# endif #endif #define cdecl #endif diff -aprNU5 lcms-1.17.orig/samples/icctrans.c lcms-1.17/samples/icctrans.c --- lcms-1.17.orig/samples/icctrans.c 2007-07-27 10:00:00 +0000 +++ lcms-1.17/samples/icctrans.c 2007-11-05 21:36:26 +0000 @@ -83,10 +83,15 @@ static cmsCIELab Lab; static LPcmsNAMEDCOLORLIST InputColorant = NULL; static LPcmsNAMEDCOLORLIST OutputColorant = NULL; +#ifdef __DJGPP__ +# undef MAX_PATH +# define MAX_PATH (pathconf(NULL, _PC_NAME_MAX)) +#endif + // isatty replacement #ifdef _MSC_VER #define xisatty(x) _isatty( _fileno( (x) ) ) #else diff -aprNU5 lcms-1.17.orig/src/cmscgats.c lcms-1.17/src/cmscgats.c --- lcms-1.17.orig/src/cmscgats.c 2007-07-27 10:00:00 +0000 +++ lcms-1.17/src/cmscgats.c 2007-11-05 22:41:28 +0000 @@ -20,10 +20,14 @@ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // // IT8.7 / CGATS.17-200x handling +#ifdef __DJGPP__ +#include "../djgpp/stdio.h" +#endif + #include "lcms.h" LCMSAPI LCMSHANDLE LCMSEXPORT cmsIT8Alloc(void); LCMSAPI void LCMSEXPORT cmsIT8Free(LCMSHANDLE IT8); @@ -416,21 +420,27 @@ LCMSBOOL isabsolutepath(const char *path return FALSE; if(path[0] == DIR_CHAR) return TRUE; -#ifndef NON_WINDOWS +#if !defined(NON_WINDOWS) || defined(__DJGPP__) if(isalpha(path[0]) && path[1] == ':') return TRUE; #endif return FALSE; } // Makes a file path based on a given reference path // NOTE: buffer is assumed to point to at least MAX_PATH bytes // NOTE: both relPath and basePath are assumed to be no more than MAX_PATH characters long (including the null terminator!) // NOTE: this function doesn't check if the path exists or even if it's legal + +#ifdef __DJGPP__ +# undef MAX_PATH +# define MAX_PATH (pathconf(NULL, _PC_NAME_MAX)) +#endif + static LCMSBOOL _cmsMakePath(const char *relPath, const char *basePath, char *buffer) { if (!isabsolutepath(relPath)) { diff -aprNU5 lcms-1.17.orig/src/cmserr.c lcms-1.17/src/cmserr.c --- lcms-1.17.orig/src/cmserr.c 2007-07-27 10:00:00 +0000 +++ lcms-1.17/src/cmserr.c 2007-11-05 18:54:04 +0000 @@ -19,10 +19,14 @@ // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +#ifdef __DJGPP__ +#include "../djgpp/stdio.h" +#endif + #include "lcms.h" // As a rule, only the functions visible from API can signal // errors. diff -aprNU5 lcms-1.17.orig/src/cmsio0.c lcms-1.17/src/cmsio0.c --- lcms-1.17.orig/src/cmsio0.c 2007-07-27 10:00:02 +0000 +++ lcms-1.17/src/cmsio0.c 2007-11-05 21:46:38 +0000 @@ -26,10 +26,16 @@ #include "lcms.h" +#ifdef __DJGPP__ +# undef MAX_PATH +# define MAX_PATH (pathconf(NULL, _PC_NAME_MAX)) +#endif + + // Memory-based stream --------------------------------------------------- typedef struct { LPBYTE Block; // Points to allocated memory size_t Size; // Size of allocated memory diff -aprNU5 lcms-1.17.orig/src/cmsio1.c lcms-1.17/src/cmsio1.c --- lcms-1.17.orig/src/cmsio1.c 2007-07-27 10:00:02 +0000 +++ lcms-1.17/src/cmsio1.c 2007-11-05 21:46:38 +0000 @@ -23,10 +23,16 @@ // ICC profile serialization #include "lcms.h" +#ifdef __DJGPP__ +# undef MAX_PATH +# define MAX_PATH (pathconf(NULL, _PC_NAME_MAX)) +#endif + + // ----------------------------------------------------------------- Tag Serialization // Alignment of ICC file format uses 4 bytes DWORD #define ALIGNLONG(x) (((x)+3) & ~(3)) // Aligns to DWORD boundary diff -aprNU5 lcms-1.17.orig/src/cmsnamed.c lcms-1.17/src/cmsnamed.c --- lcms-1.17.orig/src/cmsnamed.c 2007-07-27 10:00:02 +0000 +++ lcms-1.17/src/cmsnamed.c 2007-11-05 21:46:36 +0000 @@ -23,10 +23,15 @@ // Named color support #include "lcms.h" +#ifdef __DJGPP__ +# undef MAX_PATH +# define MAX_PATH (pathconf(NULL, _PC_NAME_MAX)) +#endif + static LPcmsNAMEDCOLORLIST GrowNamedColorList(LPcmsNAMEDCOLORLIST v, int ByElements) { diff -aprNU5 lcms-1.17.orig/src/cmsps2.c lcms-1.17/src/cmsps2.c --- lcms-1.17.orig/src/cmsps2.c 2007-07-27 10:00:02 +0000 +++ lcms-1.17/src/cmsps2.c 2007-11-05 18:54:04 +0000 @@ -23,10 +23,14 @@ // Postscript level 2 operators +#ifdef __DJGPP__ +#include "../djgpp/stdio.h" +#endif + #include "lcms.h" #include #include // PostScript ColorRenderingDictionary and ColorSpaceArray diff -aprNU5 lcms-1.17.orig/testbed/testcms.c lcms-1.17/testbed/testcms.c --- lcms-1.17.orig/testbed/testcms.c 2007-07-27 10:00:02 +0000 +++ lcms-1.17/testbed/testcms.c 2007-11-05 18:54:04 +0000 @@ -1208,11 +1208,11 @@ int GetInfoTest(void) const char* Product; LPGAMMATABLE Shapes[3]; printf("Testing profile decoding (sRGB)"); - hProfile = cmsOpenProfileFromFile("sRGB Color Space Profile.icm", "rb"); + hProfile = cmsOpenProfileFromFile("sRGB_Color_Space_Profile.icm", "rb"); cmsTakeMediaWhitePoint(&WhitePoint, hProfile); Dot(); if (!CheckXYZ(&WhitePoint, 0.95045, 1.0, 1.08905)) { printf("White point read failed!\n"); @@ -1272,11 +1272,11 @@ int Test_sRGB(void) cmsHTRANSFORM xform1, xform2; int nMaxErr; printf("Testing sRGB built-in space"); - In1 = cmsOpenProfileFromFile("sRGB Color Space Profile.icm", "rb"); + In1 = cmsOpenProfileFromFile("sRGB_Color_Space_Profile.icm", "rb"); Out1 = cmsCreateXYZProfile(); In2 = cmsCreate_sRGBProfile(); Out2 = cmsCreateXYZProfile(); @@ -1312,11 +1312,11 @@ int RealProfilesTest(void) // Using LAB identity as output profile, I'm forcing an // implicit XYZ => L*a*b conversion in xform1. // xform2 is 8 bits - LUT based, and PCS is L*a*b - In1 = cmsOpenProfileFromFile("sRGB Color Space Profile.icm", "rb"); + In1 = cmsOpenProfileFromFile("sRGB_Color_Space_Profile.icm", "rb"); Out1 = cmsCreateXYZProfile(); In2 = cmsOpenProfileFromFile("sRGBSpac.icm", "rb"); Out2 = cmsCreateXYZProfile(); @@ -1516,11 +1516,11 @@ int TestDeviceLinkGeneration() int nMaxErr; printf("Testing devicelink generation"); - hsRGB = cmsOpenProfileFromFile("sRGB Color Space Profile.icm", "r"); + hsRGB = cmsOpenProfileFromFile("sRGB_Color_Space_Profile.icm", "r"); hIdentity = cmsCreateTransform(hsRGB, TYPE_RGBA_16, hsRGB, TYPE_RGBA_16, INTENT_RELATIVE_COLORIMETRIC, 0); hDevLink = cmsTransform2DeviceLink(hIdentity, 0); _cmsSaveProfile(hDevLink, "devicelink.icm"); cmsCloseProfile(hDevLink); @@ -1840,11 +1840,11 @@ void SpeedTest(void) cmsHPROFILE hlcmsProfileIn, hlcmsProfileOut; cmsHTRANSFORM hlcmsxform; Scanline_rgb0 *In; size_t Mb; - hlcmsProfileIn = cmsOpenProfileFromFile("sRGB Color Space Profile.icm", "r"); + hlcmsProfileIn = cmsOpenProfileFromFile("sRGB_Color_Space_Profile.icm", "r"); hlcmsProfileOut = cmsOpenProfileFromFile("sRGBSpac.icm", "r"); hlcmsxform = cmsCreateTransform(hlcmsProfileIn, TYPE_RGB_16, hlcmsProfileOut, TYPE_RGB_16, INTENT_PERCEPTUAL, cmsFLAGS_NOTCACHE); Mb = 256*256*256*sizeof(Scanline_rgb0); @@ -1896,11 +1896,11 @@ void SpeedTest2(void) cmsHTRANSFORM hlcmsxform; Scanline_rgb8 *In; size_t Mb; - hlcmsProfileIn = cmsOpenProfileFromFile("sRGB Color Space Profile.icm", "r"); + hlcmsProfileIn = cmsOpenProfileFromFile("sRGB_Color_Space_Profile.icm", "r"); hlcmsProfileOut = cmsOpenProfileFromFile("sRGBSpac.icm", "r"); hlcmsxform = cmsCreateTransform(hlcmsProfileIn, TYPE_RGB_8, hlcmsProfileOut, TYPE_RGB_8, INTENT_PERCEPTUAL, cmsFLAGS_NOTCACHE); Mb = 256*256*256*sizeof(Scanline_rgb8); @@ -2263,12 +2263,12 @@ void GenerateCRD(const char* cOutProf) } static int TestPostScript() { - GenerateCSA("sRGB Color Space Profile.icm"); - GenerateCRD("sRGB Color Space Profile.icm"); + GenerateCSA("sRGB_Color_Space_Profile.icm"); + GenerateCRD("sRGB_Color_Space_Profile.icm"); GenerateCSA(NULL); GenerateCRD(NULL); return 1; }