Lines Matching defs:dir

84 	TIFFDirEntry* dir;
125 dir = (TIFFDirEntry *)CheckMalloc(tif,
127 if (dir == NULL)
129 if (!ReadOK(tif, dir, dircount*sizeof (TIFFDirEntry))) {
149 dir = (TIFFDirEntry *)CheckMalloc(tif,
151 if (dir == NULL)
157 _TIFFmemcpy(dir, tif->tif_base + off,
167 tif->tif_flags &= ~TIFF_BEENWRITING; /* reset before new dir */
205 for (dp = dir, n = dircount; n > 0; n--, dp++) {
220 for (dp = dir, n = dircount; n > 0; n--, dp++) {
373 for (dp = dir, n = dircount; n > 0; n--, dp++) {
515 EstimateStripByteCounts(tif, dir, dircount);
531 EstimateStripByteCounts(tif, dir, dircount);
533 if (dir)
534 _TIFFfree(tif, (char *)dir);
565 if (dir)
566 _TIFFfree(tif, dir);
571 EstimateStripByteCounts(TIFF* tif, TIFFDirEntry* dir, uint16 dircount)
591 for (dp = dir, n = dircount; n > 0; n--, dp++) {
638 CheckDirCount(TIFF* tif, TIFFDirEntry* dir, uint32 count)
640 if (count != dir->tdir_count) {
643 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name,
644 dir->tdir_count, count);
654 TIFFFetchData(TIFF* tif, TIFFDirEntry* dir, char* cp)
656 int w = tiffDataWidth[dir->tdir_type];
657 tsize_t cc = dir->tdir_count * w;
660 if (!SeekOK(tif, dir->tdir_offset))
665 if (dir->tdir_offset + cc > tif->tif_size)
667 _TIFFmemcpy(cp, tif->tif_base + dir->tdir_offset, cc);
670 switch (dir->tdir_type) {
673 TIFFSwabArrayOfShort((uint16*) cp, dir->tdir_count);
678 TIFFSwabArrayOfLong((uint32*) cp, dir->tdir_count);
682 TIFFSwabArrayOfLong((uint32*) cp, 2*dir->tdir_count);
685 TIFFSwabArrayOfDouble((double*) cp, dir->tdir_count);
692 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
700 TIFFFetchString(TIFF* tif, TIFFDirEntry* dir, char* cp)
702 if (dir->tdir_count <= 4) {
703 uint32 l = dir->tdir_offset;
706 _TIFFmemcpy(cp, &l, dir->tdir_count);
709 return (TIFFFetchData(tif, dir, cp));
716 cvtRational(TIFF* tif, TIFFDirEntry* dir, uint32 num, uint32 denom, float* rv)
721 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name, num);
724 if (dir->tdir_type == TIFF_RATIONAL)
738 TIFFFetchRational(TIFF* tif, TIFFDirEntry* dir)
743 return (!TIFFFetchData(tif, dir, (char *)l) ||
744 !cvtRational(tif, dir, l[0], l[1], &v) ? 1.0f : v);
753 TIFFFetchFloat(TIFF* tif, TIFFDirEntry* dir)
755 long l = TIFFExtractData(tif, dir->tdir_type, dir->tdir_offset);
765 TIFFFetchByteArray(TIFF* tif, TIFFDirEntry* dir, uint16* v)
767 if (dir->tdir_count <= 4) {
772 switch (dir->tdir_count) {
773 case 4: v[3] = (uint16)(dir->tdir_offset & 0xff);
774 case 3: v[2] = (uint16)((dir->tdir_offset >> 8) & 0xff);
775 case 2: v[1] = (uint16)((dir->tdir_offset >> 16) & 0xff);
776 case 1: v[0] = (uint16)(dir->tdir_offset >> 24);
779 switch (dir->tdir_count) {
780 case 4: v[3] = (uint16)(dir->tdir_offset >> 24);
781 case 3: v[2] = (uint16)((dir->tdir_offset >> 16) & 0xff);
782 case 2: v[1] = (uint16)((dir->tdir_offset >> 8) & 0xff);
783 case 1: v[0] = (uint16)(dir->tdir_offset & 0xff);
788 return (TIFFFetchData(tif, dir, (char*) v) != 0); /* XXX */
795 TIFFFetchShortArray(TIFF* tif, TIFFDirEntry* dir, uint16* v)
797 if (dir->tdir_count <= 2) {
799 switch (dir->tdir_count) {
800 case 2: v[1] = (uint16) (dir->tdir_offset & 0xffff);
801 case 1: v[0] = (uint16) (dir->tdir_offset >> 16);
804 switch (dir->tdir_count) {
805 case 2: v[1] = (uint16) (dir->tdir_offset >> 16);
806 case 1: v[0] = (uint16) (dir->tdir_offset & 0xffff);
811 return (TIFFFetchData(tif, dir, (char *)v) != 0);
818 TIFFFetchShortPair(TIFF* tif, TIFFDirEntry* dir)
823 switch (dir->tdir_type) {
826 ok = TIFFFetchShortArray(tif, dir, v);
830 ok = TIFFFetchByteArray(tif, dir, v);
834 TIFFSetField(tif, dir->tdir_tag, v[0], v[1]);
842 TIFFFetchLongArray(TIFF* tif, TIFFDirEntry* dir, uint32* v)
844 if (dir->tdir_count == 1) {
845 v[0] = dir->tdir_offset;
848 return (TIFFFetchData(tif, dir, (char*) v) != 0);
855 TIFFFetchRationalArray(TIFF* tif, TIFFDirEntry* dir, float* v)
861 dir->tdir_count*tiffDataWidth[dir->tdir_type],
864 if (TIFFFetchData(tif, dir, (char *)l)) {
866 for (i = 0; i < dir->tdir_count; i++) {
867 ok = cvtRational(tif, dir,
882 TIFFFetchFloatArray(TIFF* tif, TIFFDirEntry* dir, float* v)
885 if (dir->tdir_count == 1) {
886 v[0] = *(float*) &dir->tdir_offset;
887 TIFFCvtIEEEFloatToNative(tif, dir->tdir_count, v);
889 } else if (TIFFFetchData(tif, dir, (char*) v)) {
890 TIFFCvtIEEEFloatToNative(tif, dir->tdir_count, v);
900 TIFFFetchDoubleArray(TIFF* tif, TIFFDirEntry* dir, double* v)
902 if (TIFFFetchData(tif, dir, (char*) v)) {
903 TIFFCvtIEEEDoubleToNative(tif, dir->tdir_count, v);
921 TIFFFetchAnyArray(TIFF* tif, TIFFDirEntry* dir, double* v)
925 switch (dir->tdir_type) {
928 if (!TIFFFetchByteArray(tif, dir, (uint16*) v))
930 if (dir->tdir_type == TIFF_BYTE) {
932 for (i = dir->tdir_count-1; i >= 0; i--)
936 for (i = dir->tdir_count-1; i >= 0; i--)
942 if (!TIFFFetchShortArray(tif, dir, (uint16*) v))
944 if (dir->tdir_type == TIFF_SHORT) {
946 for (i = dir->tdir_count-1; i >= 0; i--)
950 for (i = dir->tdir_count-1; i >= 0; i--)
956 if (!TIFFFetchLongArray(tif, dir, (uint32*) v))
958 if (dir->tdir_type == TIFF_LONG) {
960 for (i = dir->tdir_count-1; i >= 0; i--)
964 for (i = dir->tdir_count-1; i >= 0; i--)
970 if (!TIFFFetchRationalArray(tif, dir, (float*) v))
973 for (i = dir->tdir_count-1; i >= 0; i--)
978 if (!TIFFFetchFloatArray(tif, dir, (float*) v))
981 for (i = dir->tdir_count-1; i >= 0; i--)
986 return (TIFFFetchDoubleArray(tif, dir, (double*) v));
993 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1146 TIFFFetchPerSampleShorts(TIFF* tif, TIFFDirEntry* dir, int* pl)
1151 if (CheckDirCount(tif, dir, (uint32) samples)) {
1157 if (TIFFFetchShortArray(tif, dir, v)) {
1163 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1182 TIFFFetchPerSampleAnys(TIFF* tif, TIFFDirEntry* dir, double* pl)
1187 if (CheckDirCount(tif, dir, (uint32) samples)) {
1193 if (TIFFFetchAnyArray(tif, dir, v)) {
1199 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1219 TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, long nstrips, uint32** lpp)
1224 if (!CheckDirCount(tif, dir, (uint32) nstrips))
1234 if (dir->tdir_type == (int)TIFF_SHORT) {
1239 dir->tdir_count* sizeof (uint16), "to fetch strip tag");
1242 if( (status = TIFFFetchShortArray(tif, dir, dp)) != 0 ) {
1249 status = TIFFFetchLongArray(tif, dir, lp);
1258 TIFFFetchExtraSamples(TIFF* tif, TIFFDirEntry* dir)
1264 if (dir->tdir_count > NITEMS(buf))
1265 v=(uint16*) _TIFFmalloc(tif, dir->tdir_count * sizeof (uint16));
1266 if (dir->tdir_type == TIFF_BYTE)
1267 status = TIFFFetchByteArray(tif, dir, v);
1269 status = TIFFFetchShortArray(tif, dir, v);
1271 status = TIFFSetField(tif, dir->tdir_tag, dir->tdir_count, v);
1283 TIFFFetchRefBlackWhite(TIFF* tif, TIFFDirEntry* dir)
1289 if (dir->tdir_type == TIFF_RATIONAL)
1290 return (TIFFFetchNormalTag(tif, dir));
1294 cp = CheckMalloc(tif, dir->tdir_count * sizeof (uint32), mesg);
1295 if( (ok = (cp && TIFFFetchLongArray(tif, dir, (uint32*) cp))) != 0) {
1297 CheckMalloc(tif, dir->tdir_count * sizeof (float), mesg);
1300 for (i = 0; i < dir->tdir_count; i++)
1302 ok = TIFFSetField(tif, dir->tdir_tag, fp);