2013.10.28 07:43 "[Tiff] Does TIFF support 15-bit (RGB555 or 5551) images?", by Nikos Chantziaras

2013.12.03 06:21 "Re: [Tiff] Tiff Digest, Vol 115, Issue 1", by Nacho Man

I do like your solution I a lot better than mine.  I missed it earlier because I didn't see the digest thing.   I just reverted my changes and tried the CPPFLAGS options and it compiled just fine.  Thank you.  Just in case anyone was wondering about those comparison's are always true or false stuff I was talking about earlier, I've attached an output of the warnings.  I don't mind changing them from char to signed char to make them go away, it just doesn't seem like the right thing to do though.  It makes more sense to me that they should be unsigned char's.

On Monday, December 2, 2013 2:29 PM, Bob Friesenhahn <bfriesen@simple.dallas.tx.us> wrote:

>
> Bob

Yes, I reported the same error on November 12th. I would be interested to learn if you find a work-around/solution.

From looking at the problem code, it appears that defining HAVE_BOOLEAN while compiling libtiff (add CPPFLAGS=-DHAVE_BOOLEAN) should at least get libtiff to compile.

The next libjpeg adds new wrinkles since the library can be built with BITS_IN_JSAMPLE values of 8, 9, 10, 11, and 12. libtiff only supports 8 and 12.   Currently

The problematic code from the development (9a) version still looks a bit fishy to me:

#ifndef HAVE_BOOLEAN

#if defined FALSE || defined TRUE || defined QGLOBAL_H /* Qt3 defines FALSE and TRUE as "const" variables in qglobal.h */ typedef int boolean;

#ifndef FALSE                   /* in case these macros already exist */
#define FALSE   0               /* values of boolean */

#endif
#ifndef TRUE

#define TRUE    1

#endif
#else
typedef enum { FALSE = 0, TRUE = 1 } boolean;
#endif
#endif

../../../contrib/iptcutil/iptcutil.c: In function 'formatIPTC':

../../../contrib/iptcutil/iptcutil.c:224:3: warning: comparison is always true due to limited range of data type [-Wtype-limits]

while (c != EOF)
^

../../../contrib/iptcutil/iptcutil.c:238:4: warning: comparison is always false due to limited range of data type [-Wtype-limits]

if ((char) dataset == EOF)
^

../../../contrib/iptcutil/iptcutil.c:241:4: warning: comparison is always false due to limited range of data type [-Wtype-limits]

if ((char) recnum == EOF)
^

../../../contrib/iptcutil/iptcutil.c:256:4: warning: comparison is always false due to limited range of data type [-Wtype-limits]

if (c == EOF)
^

../../../contrib/iptcutil/iptcutil.c:266:11: warning: comparison is always false due to limited range of data type [-Wtype-limits]

      if (c == EOF)
      ^

../../../contrib/iptcutil/iptcutil.c:281:9: warning: comparison is always false due to limited range of data type [-Wtype-limits]

    if ((char)x == EOF)
    ^

../../../contrib/iptcutil/iptcutil.c:295:7: warning: comparison is always false due to limited range of data type [-Wtype-limits]

  if (c == EOF)
  ^

../../../contrib/iptcutil/iptcutil.c: In function 'main':

../../../contrib/iptcutil/iptcutil.c:374:6: warning: variable 'buffer' set but not used [-Wunused-but-set-variable]

*buffer;
 ^

../../../contrib/iptcutil/iptcutil.c:371:5: warning: variable 'length' set but not used [-Wunused-but-set-variable]

length;
^

../../../contrib/iptcutil/iptcutil.c: In function 'chstore':

../../../contrib/iptcutil/iptcutil.c:793:8: warning: array subscript has type 'char' [-Wchar-subscripts]

   c=toupper(ch);
   ^

../../../contrib/iptcutil/iptcutil.c:797:8: warning: array subscript has type 'char' [-Wchar-subscripts]

   c=tolower(ch);
   ^