2006.08.11 19:49 "RE: [Tiff] Newbie RICHTIFFIPTC query -- code snippet (sample usage of TIFFTAG_RICHTIFFIPTC)", by

2006.08.11 17:37 "RE: [Tiff] Newbie RICHTIFFIPTC query", by

Dermot wrote:
> I currently have this:
> uint32 count;
> char *data;
> snip

   if (TIFFGetField(tif, TIFFTAG_RICHTIFFIPTC, &count, &data) == 0) {

> printf("Size of IPTC Tag is %d bytes.\n", &count);

You should not be using the address operator here -- you're printing the address of the variable, which is why it looks funny. You want this:

printf("Size of IPTC Tag is %d bytes.\n", count);

You should try to get a good reference (or tutor) and learn about address, pointer, reference, dereference, pass-by-reference, pass-by-value, call models, and a few other important basic C concepts, such as how the stack works (common to many other languages as well). Once you understand those things, it'll be a _lot_ easier to developer and debug.

Also, there's this note in tif_print.c:

                         * XXX: for some weird reason RichTIFFIPTC tag
                         * defined as array of LONG values.

So that tag is little unusual, but I would try treating the data blob as a run of chars, or a run of ulongints, and see if either gives you some decent results.