2007.05.04 11:51 "[Tiff] TIFFSetField and float values", by mikk

2007.05.04 13:02 "Re: [Tiff] TIFFSetField and float values", by Joris Van Damme


Oh, my, I've found the reason. Digging into the source code I realized that TIFFSetField

gets the parameter from va_arg as double:
(From tif_dir.c,v 1.72 2006/03/15 12:49:35, line 234:)
        td->td_xresolution = (float) va_arg(ap, double);

When I pass argument of type double, the tag saves the value properly. Looks like an error in documentation (TIFFSetField.3tiff.html)?

I would agree... but I suspect other compilers may behave differently. I suspect that passing a float, as per documentation, would work for most, but passing a double will work for all. I've also tried changing the code you quote from tif_dir.c to va_arg(ap,float), but that doesn't work on our Borland compilers at all (and likely it will not work on most other compilers either, I think). So I'm about to propose to change the documention to specify a double parameter as part of the next update.

Best regards,

Joris Van Damme
Download your free TIFF tag viewer for windows here: