Hi Claudiu

> For the case when cmsUInt64Number gets defined as:
>        typedef cmsUInt32Number      cmsUInt64Number[2];
> there are issues in the LCMS code where a cmsUInt64Number variable is
> assumed to hold a value, not a pointer.
> In particular _cmsAdjustEndianess64 is wrong (one effect being that the
> ICC's Device attributes field gets messy).

Ok, I have tried the testbed and it complains in the device  
attributes. This is a bug and I have added it to the buglist. Thanks  
for reporting.

> As LittleCMS requires a C99 compiler:
> 1) Couldn't the cmsUInt64Number be always defined as:
>         typedef unsigned long long   cmsUInt64Number;

Well, if you are using C99 the bug will never show up as C99 requires  
long long to be implemented. This is probably why the bug has passed  
unnoticed. Documentation says C99 is required, but lcms2 can be also  
used with some compilers that are not totally C99 compliant, like old  
versions of MS Visual Studio for example. This is mostly undocumented  
to avoid problems. As long as you use a C99 compiler you have not to  
worry about all that.

> 2) Alternatively, couldn't the LCMS integral types rely on the
> corresponding ones defined in stdint.h ?

Unfortunately not all versions of VisualStudio does support stdint.h

Regards
Marti

Claudiu Cebuc <cce...@gmail.com> escribió:

> Hi,
>
> For the case when cmsUInt64Number gets defined as:
>        typedef cmsUInt32Number      cmsUInt64Number[2];
> there are issues in the LCMS code where a cmsUInt64Number variable is
> assumed to hold a value, not a pointer.
> In particular _cmsAdjustEndianess64 is wrong (one effect being that the
> ICC's Device attributes field gets messy).
>
> I have encountered this problem on an openSUSE 11.1 32bit platform, using a
> gcc 4.3.34x C compiler.
>
> As LittleCMS requires a C99 compiler:
> 1) Couldn't the cmsUInt64Number be always defined as:
>         typedef unsigned long long   cmsUInt64Number;
>
> 2) Alternatively, couldn't the LCMS integral types rely on the
> corresponding ones defined in stdint.h ?
>
> Best regards,
> Claudiu.
>


------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to