Antoine ([EMAIL PROTECTED]) scribbled: > Hi, > I can't seem to get any bites on the more appropriate lists I am on...
Have you tried linux-c-programming@vger.kernel.org ? > > I am almost finished hacking libtiff into something we can use to make > tiff ATA2100 compliant files and am sure that the last hurdle is > understanding what the following means: > > tif->tif_diroff = (TIFFSeekFile(tif, (toff_t) 0, SEEK_END)+1) &~ 1; > > (from tif_dirwrite.c) > > where > > TIFFSeekFile is > > #define TIFFSeekFile(tif, off, whence) \ > ((*(tif)->tif_seekproc)((tif)->tif_clientdata,(toff_t)(off),whence)) > > basically all I need to know is what the &~ 1 does at the end of the > first line whitespace doesn't matter in C, this is taking the output of TIFFSeekFile and and'ing (&) it with ~1 == 0xfffe . The type of '1' will be determined by the type of TIFFSeekFile. The end result is that the output of TIFFSeekFile will always be even. > and what the effect of > ((*(tif)->tif_seekproc)((tif)->tif_clientdata,(toff_t)(off),whence)) > is. It doesn't look to me much like a function call... but then again, I > only started really looking at c a week ago :-). Sure looks like it to me. grep through the source for 'tif_seekproc', it'll be a member of a struct and should be a function pointer (this should be in an include file). Then look for some sort of an initialization routine where 'tif_seekproc' is assigned a function pointer. The function it is assigned will be what is used when the above macro 'TIFFSeekFile' is called. hth, Cooper. -- gentoo-user@gentoo.org mailing list