Lines Matching defs:dir

44 static  TIFFDirEntry* TIFFReadDirectoryFind(TIFFDirEntry* dir,
80 TIFFDirEntry *dp, *dir = NULL;
101 &dir, &tif->tif_nextdiroff);
109 tif->tif_flags &= ~TIFF_BEENWRITING; /* reset before new dir */
147 for (dp = dir, n = dircount; n > 0; n--, dp++) {
162 for (dp = dir, n = dircount; n > 0; n--, dp++) {
290 for (dp = dir, n = dircount; n > 0; n--, dp++) {
360 dp = TIFFReadDirectoryFind(dir,dircount,TIFFTAG_STRIPOFFSETS);
362 dp = TIFFReadDirectoryFind(dir, dircount,
426 for (dp = dir, n = dircount; n > 0; n--, dp++) {
654 if (EstimateStripByteCounts(tif, dir, dircount) < 0)
690 if(EstimateStripByteCounts(tif, dir, dircount) < 0)
708 if (EstimateStripByteCounts(tif, dir, dircount) < 0)
712 if (dir) {
713 _TIFFfree((char *)dir);
714 dir = NULL;
790 if (dir)
791 _TIFFfree(dir);
796 TIFFReadDirectoryFind(TIFFDirEntry* dir, uint16 dircount, uint16 tagid)
800 for (m=dir, n=0; n<dircount; m++, n++)
819 TIFFDirEntry *dp, *dir = NULL;
826 dircount = TIFFFetchDirectory(tif, diroff, &dir, NULL);
838 for (dp = dir, i = dircount; i > 0; i--, dp++) {
925 if (dir)
926 _TIFFfree(dir);
945 EstimateStripByteCounts(TIFF* tif, TIFFDirEntry* dir, uint16 dircount)
970 for (dp = dir, n = dircount; n > 0; n--, dp++)
1076 CheckDirCount(TIFF* tif, TIFFDirEntry* dir, uint32 count)
1078 if (count > dir->tdir_count) {
1081 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name,
1082 dir->tdir_count, count);
1084 } else if (count < dir->tdir_count) {
1087 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name,
1088 dir->tdir_count, count);
1105 TIFFDirEntry *dir;
1128 dir = (TIFFDirEntry *)_TIFFCheckMalloc(tif, dircount,
1131 if (dir == NULL)
1133 if (!ReadOK(tif, dir, dircount*sizeof (TIFFDirEntry))) {
1137 _TIFFfree(dir);
1171 dir = (TIFFDirEntry *)_TIFFCheckMalloc(tif, dircount,
1174 if (dir == NULL)
1180 _TIFFfree(dir);
1183 _TIFFmemcpy(dir, tif->tif_base + off,
1196 *pdir = dir;
1204 TIFFFetchData(TIFF* tif, TIFFDirEntry* dir, char* cp)
1206 uint32 w = TIFFDataWidth((TIFFDataType) dir->tdir_type);
1213 uint32 cc = dir->tdir_count * w;
1216 if (!dir->tdir_count || !w || cc / w != dir->tdir_count)
1220 if (!SeekOK(tif, dir->tdir_offset))
1226 if (dir->tdir_offset + cc < dir->tdir_offset
1227 || dir->tdir_offset + cc < cc
1228 || dir->tdir_offset + cc > tif->tif_size)
1230 _TIFFmemcpy(cp, tif->tif_base + dir->tdir_offset, cc);
1233 switch (dir->tdir_type) {
1236 TIFFSwabArrayOfShort((uint16*) cp, dir->tdir_count);
1241 TIFFSwabArrayOfLong((uint32*) cp, dir->tdir_count);
1245 TIFFSwabArrayOfLong((uint32*) cp, 2*dir->tdir_count);
1248 TIFFSwabArrayOfDouble((double*) cp, dir->tdir_count);
1256 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1264 TIFFFetchString(TIFF* tif, TIFFDirEntry* dir, char* cp)
1266 if (dir->tdir_count <= 4) {
1267 uint32 l = dir->tdir_offset;
1270 _TIFFmemcpy(cp, &l, dir->tdir_count);
1273 return (TIFFFetchData(tif, dir, cp));
1280 cvtRational(TIFF* tif, TIFFDirEntry* dir, uint32 num, uint32 denom, float* rv)
1285 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name, num);
1288 if (dir->tdir_type == TIFF_RATIONAL)
1301 TIFFFetchRational(TIFF* tif, TIFFDirEntry* dir)
1306 return (!TIFFFetchData(tif, dir, (char *)l) ||
1307 !cvtRational(tif, dir, l[0], l[1], &v) ? 1.0f : v);
1315 TIFFFetchFloat(TIFF* tif, TIFFDirEntry* dir)
1318 int32 l = TIFFExtractData(tif, dir->tdir_type, dir->tdir_offset);
1328 TIFFFetchByteArray(TIFF* tif, TIFFDirEntry* dir, uint8* v)
1330 if (dir->tdir_count <= 4) {
1335 if (dir->tdir_type == TIFF_SBYTE)
1336 switch (dir->tdir_count) {
1337 case 4: v[3] = dir->tdir_offset & 0xff;
1338 case 3: v[2] = (dir->tdir_offset >> 8) & 0xff;
1339 case 2: v[1] = (dir->tdir_offset >> 16) & 0xff;
1340 case 1: v[0] = dir->tdir_offset >> 24;
1343 switch (dir->tdir_count) {
1344 case 4: v[3] = dir->tdir_offset & 0xff;
1345 case 3: v[2] = (dir->tdir_offset >> 8) & 0xff;
1346 case 2: v[1] = (dir->tdir_offset >> 16) & 0xff;
1347 case 1: v[0] = dir->tdir_offset >> 24;
1350 if (dir->tdir_type == TIFF_SBYTE)
1351 switch (dir->tdir_count) {
1352 case 4: v[3] = dir->tdir_offset >> 24;
1353 case 3: v[2] = (dir->tdir_offset >> 16) & 0xff;
1354 case 2: v[1] = (dir->tdir_offset >> 8) & 0xff;
1355 case 1: v[0] = dir->tdir_offset & 0xff;
1358 switch (dir->tdir_count) {
1359 case 4: v[3] = dir->tdir_offset >> 24;
1360 case 3: v[2] = (dir->tdir_offset >> 16) & 0xff;
1361 case 2: v[1] = (dir->tdir_offset >> 8) & 0xff;
1362 case 1: v[0] = dir->tdir_offset & 0xff;
1367 return (TIFFFetchData(tif, dir, (char*) v) != 0); /* XXX */
1374 TIFFFetchShortArray(TIFF* tif, TIFFDirEntry* dir, uint16* v)
1376 if (dir->tdir_count <= 2) {
1378 switch (dir->tdir_count) {
1379 case 2: v[1] = (uint16) (dir->tdir_offset & 0xffff);
1380 case 1: v[0] = (uint16) (dir->tdir_offset >> 16);
1383 switch (dir->tdir_count) {
1384 case 2: v[1] = (uint16) (dir->tdir_offset >> 16);
1385 case 1: v[0] = (uint16) (dir->tdir_offset & 0xffff);
1390 return (TIFFFetchData(tif, dir, (char *)v) != 0);
1398 TIFFFetchShortPair(TIFF* tif, TIFFDirEntry* dir)
1404 if (dir->tdir_count > 2) {
1407 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name,
1408 dir->tdir_count);
1412 switch (dir->tdir_type) {
1417 return TIFFFetchByteArray(tif, dir, v)
1418 && TIFFSetField(tif, dir->tdir_tag, v[0], v[1]);
1424 return TIFFFetchShortArray(tif, dir, v)
1425 && TIFFSetField(tif, dir->tdir_tag, v[0], v[1]);
1436 TIFFFetchLongArray(TIFF* tif, TIFFDirEntry* dir, uint32* v)
1438 if (dir->tdir_count == 1) {
1439 v[0] = dir->tdir_offset;
1442 return (TIFFFetchData(tif, dir, (char*) v) != 0);
1449 TIFFFetchRationalArray(TIFF* tif, TIFFDirEntry* dir, float* v)
1455 dir->tdir_count, TIFFDataWidth((TIFFDataType) dir->tdir_type),
1458 if (TIFFFetchData(tif, dir, (char *)l)) {
1460 for (i = 0; i < dir->tdir_count; i++) {
1461 ok = cvtRational(tif, dir,
1476 TIFFFetchFloatArray(TIFF* tif, TIFFDirEntry* dir, float* v)
1479 if (dir->tdir_count == 1) {
1486 float_union.i=dir->tdir_offset;
1488 TIFFCvtIEEEFloatToNative(tif, dir->tdir_count, v);
1490 } else if (TIFFFetchData(tif, dir, (char*) v)) {
1491 TIFFCvtIEEEFloatToNative(tif, dir->tdir_count, v);
1501 TIFFFetchDoubleArray(TIFF* tif, TIFFDirEntry* dir, double* v)
1503 if (TIFFFetchData(tif, dir, (char*) v)) {
1504 TIFFCvtIEEEDoubleToNative(tif, dir->tdir_count, v);
1520 TIFFFetchAnyArray(TIFF* tif, TIFFDirEntry* dir, double* v)
1524 switch (dir->tdir_type) {
1527 if (!TIFFFetchByteArray(tif, dir, (uint8*) v))
1529 if (dir->tdir_type == TIFF_BYTE) {
1531 for (i = dir->tdir_count-1; i >= 0; i--)
1535 for (i = dir->tdir_count-1; i >= 0; i--)
1541 if (!TIFFFetchShortArray(tif, dir, (uint16*) v))
1543 if (dir->tdir_type == TIFF_SHORT) {
1545 for (i = dir->tdir_count-1; i >= 0; i--)
1549 for (i = dir->tdir_count-1; i >= 0; i--)
1555 if (!TIFFFetchLongArray(tif, dir, (uint32*) v))
1557 if (dir->tdir_type == TIFF_LONG) {
1559 for (i = dir->tdir_count-1; i >= 0; i--)
1563 for (i = dir->tdir_count-1; i >= 0; i--)
1569 if (!TIFFFetchRationalArray(tif, dir, (float*) v))
1572 for (i = dir->tdir_count-1; i >= 0; i--)
1577 if (!TIFFFetchFloatArray(tif, dir, (float*) v))
1580 for (i = dir->tdir_count-1; i >= 0; i--)
1585 return (TIFFFetchDoubleArray(tif, dir, (double*) v));
1592 dir->tdir_type,
1593 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1748 TIFFFetchPerSampleShorts(TIFF* tif, TIFFDirEntry* dir, uint16* pl)
1753 if (CheckDirCount(tif, dir, (uint32) samples)) {
1757 if (dir->tdir_count > NITEMS(buf))
1758 v = (uint16*) _TIFFCheckMalloc(tif, dir->tdir_count, sizeof(uint16),
1760 if (v && TIFFFetchShortArray(tif, dir, v)) {
1762 int check_count = dir->tdir_count;
1770 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1789 TIFFFetchPerSampleLongs(TIFF* tif, TIFFDirEntry* dir, uint32* pl)
1794 if (CheckDirCount(tif, dir, (uint32) samples)) {
1798 if (dir->tdir_count > NITEMS(buf))
1799 v = (uint32*) _TIFFCheckMalloc(tif, dir->tdir_count, sizeof(uint32),
1801 if (v && TIFFFetchLongArray(tif, dir, v)) {
1803 int check_count = dir->tdir_count;
1811 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1829 TIFFFetchPerSampleAnys(TIFF* tif, TIFFDirEntry* dir, double* pl)
1834 if (CheckDirCount(tif, dir, (uint32) samples)) {
1838 if (dir->tdir_count > NITEMS(buf))
1839 v = (double*) _TIFFCheckMalloc(tif, dir->tdir_count, sizeof (double),
1841 if (v && TIFFFetchAnyArray(tif, dir, v)) {
1843 int check_count = dir->tdir_count;
1851 _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
1870 TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, long nstrips, uint32** lpp)
1875 CheckDirCount(tif, dir, (uint32) nstrips);
1887 if (dir->tdir_type == (int)TIFF_SHORT) {
1892 dir->tdir_count, sizeof (uint16), "to fetch strip tag");
1895 if( (status = TIFFFetchShortArray(tif, dir, dp)) != 0 ) {
1898 for( i = 0; i < nstrips && i < (int) dir->tdir_count; i++ )
1905 } else if( nstrips != (int) dir->tdir_count ) {
1909 dir->tdir_count, sizeof (uint32), "to fetch strip tag");
1913 status = TIFFFetchLongArray(tif, dir, dp);
1917 for( i = 0; i < nstrips && i < (int) dir->tdir_count; i++ )
1925 status = TIFFFetchLongArray(tif, dir, lp);
1934 TIFFFetchRefBlackWhite(TIFF* tif, TIFFDirEntry* dir)
1940 if (dir->tdir_type == TIFF_RATIONAL)
1941 return (TIFFFetchNormalTag(tif, dir));
1945 cp = (char *)_TIFFCheckMalloc(tif, dir->tdir_count,
1947 if( (ok = (cp && TIFFFetchLongArray(tif, dir, (uint32*) cp))) != 0) {
1949 _TIFFCheckMalloc(tif, dir->tdir_count, sizeof (float), mesg);
1952 for (i = 0; i < dir->tdir_count; i++)
1954 ok = TIFFSetField(tif, dir->tdir_tag, fp);
1967 TIFFFetchSubjectDistance(TIFF* tif, TIFFDirEntry* dir)
1973 if( dir->tdir_count != 1 || dir->tdir_type != TIFF_RATIONAL )
1980 if (TIFFFetchData(tif, dir, (char *)l)
1981 && cvtRational(tif, dir, l[0], l[1], &v)) {
1987 ok = TIFFSetField(tif, dir->tdir_tag,