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.