diff --git a/src/image.cpp b/src/image.cpp index 830caa02..a7198328 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -331,7 +331,7 @@ namespace Exiv2 { for ( int i = 0 ; i < dirLength ; i ++ ) { if ( bFirst && bPrint ) { out << Internal::indent(depth) - << " address | tag | " + << " address | tag | " << " type | count | offset | value\n"; } bFirst = false; @@ -370,9 +370,9 @@ namespace Exiv2 { // if ( offset > io.size() ) offset = 0; // Denial of service? DataBuf buf(size*count + pad+20); // allocate a buffer std::memcpy(buf.pData_,dir.pData_+8,4); // copy dir[8:11] into buffer (short strings) - const bool offsetIsPointer = count*size > 4; + const bool bOffsetIsPointer = count*size > 4; - if ( offsetIsPointer ) { // read into buffer + if ( bOffsetIsPointer ) { // read into buffer size_t restore = io.tell(); // save io.seek(offset,BasicIo::beg); // position io.read(buf.pData_,count*size);// read @@ -381,12 +381,12 @@ namespace Exiv2 { if ( bPrint ) { const uint32_t address = start + 2 + i*12 ; - const std::string offsetString = offsetIsPointer? + const std::string offsetString = bOffsetIsPointer? Internal::stringFormat("%10u", offset): ""; out << Internal::indent(depth) - << Internal::stringFormat("%8u | %#06x %-25s |%10s |%9u |%10s | " + << Internal::stringFormat("%8u | %#06x %-28s |%10s |%9u |%10s | " ,address,tag,tagName(tag).c_str(),typeName(type),count,offsetString.c_str()); if ( isShortType(type) ){ for ( size_t k = 0 ; k < kount ; k++ ) { diff --git a/test/data/bugfixes-test.out b/test/data/bugfixes-test.out index dea4926b..0a4e80c0 100644 Binary files a/test/data/bugfixes-test.out and b/test/data/bugfixes-test.out differ diff --git a/test/data/webp-test.out b/test/data/webp-test.out index e92a8441..caeaf41c 100644 --- a/test/data/webp-test.out +++ b/test/data/webp-test.out @@ -14,134 +14,134 @@ STRUCTURE OF WEBP FILE: exiv2-bug1199.webp VP8 | 172008 | 598 | .G...*.. .>1..B.!..o.. ......].. EXIF | 12040 | 172614 | II*........................... . STRUCTURE OF TIFF FILE (II): MemIo - address | tag | type | count | offset | value - 10 | 0x0100 ImageWidth | LONG | 1 | 1200 | 1200 - 22 | 0x0101 ImageLength | LONG | 1 | 800 | 800 - 34 | 0x0102 BitsPerSample | SHORT | 3 | 194 | 8 8 8 - 46 | 0x010e ImageDescription | ASCII | 37 | 200 | ... - 58 | 0x010f Make | ASCII | 18 | 238 | NIKON CORPORATION - 70 | 0x0110 Model | ASCII | 12 | 256 | NIKON D5300 - 82 | 0x0112 Orientation | SHORT | 1 | 1 | 1 - 94 | 0x011a XResolution | RATIONAL | 1 | 268 | 300/1 - 106 | 0x011b YResolution | RATIONAL | 1 | 276 | 300/1 - 118 | 0x0128 ResolutionUnit | SHORT | 1 | 2 | 2 - 130 | 0x0131 Software | ASCII | 11 | 284 | GIMP 2.9.5 - 142 | 0x0132 DateTime | ASCII | 20 | 296 | 2016:08:13 10:54:16 - 154 | 0x0213 YCbCrPositioning | SHORT | 1 | 1 | 1 - 166 | 0x8769 ExifTag | LONG | 1 | 316 | 316 + address | tag | type | count | offset | value + 10 | 0x0100 ImageWidth | LONG | 1 | | 1200 + 22 | 0x0101 ImageLength | LONG | 1 | | 800 + 34 | 0x0102 BitsPerSample | SHORT | 3 | 194 | 8 8 8 + 46 | 0x010e ImageDescription | ASCII | 37 | 200 | ... + 58 | 0x010f Make | ASCII | 18 | 238 | NIKON CORPORATION + 70 | 0x0110 Model | ASCII | 12 | 256 | NIKON D5300 + 82 | 0x0112 Orientation | SHORT | 1 | | 1 + 94 | 0x011a XResolution | RATIONAL | 1 | 268 | 300/1 + 106 | 0x011b YResolution | RATIONAL | 1 | 276 | 300/1 + 118 | 0x0128 ResolutionUnit | SHORT | 1 | | 2 + 130 | 0x0131 Software | ASCII | 11 | 284 | GIMP 2.9.5 + 142 | 0x0132 DateTime | ASCII | 20 | 296 | 2016:08:13 10:54:16 + 154 | 0x0213 YCbCrPositioning | SHORT | 1 | | 1 + 166 | 0x8769 ExifTag | LONG | 1 | | 316 STRUCTURE OF TIFF FILE (II): MemIo - address | tag | type | count | offset | value - 318 | 0x829a ExposureTime | RATIONAL | 1 | 814 | 10/4000 - 330 | 0x829d FNumber | RATIONAL | 1 | 822 | 100/10 - 342 | 0x8822 ExposureProgram | SHORT | 1 | 0 | 0 - 354 | 0x8827 ISOSpeedRatings | SHORT | 1 | 200 | 200 - 366 | 0x8830 SensitivityType | SHORT | 1 | 2 | 2 - 378 | 0x9000 ExifVersion | UNDEFINED | 4 | 808661552 | 0230 - 390 | 0x9003 DateTimeOriginal | ASCII | 20 | 830 | 2015:07:16 15:38:54 - 402 | 0x9004 DateTimeDigitized | ASCII | 20 | 850 | 2015:07:16 15:38:54 - 414 | 0x9101 ComponentsConfiguration | UNDEFINED | 4 | 197121 | ... - 426 | 0x9102 CompressedBitsPerPixel | RATIONAL | 1 | 870 | 2/1 - 438 | 0x9204 ExposureBiasValue | SRATIONAL | 1 | 878 | 0/6 - 450 | 0x9205 MaxApertureValue | RATIONAL | 1 | 886 | 43/10 - 462 | 0x9207 MeteringMode | SHORT | 1 | 5 | 5 - 474 | 0x9208 LightSource | SHORT | 1 | 0 | 0 - 486 | 0x9209 Flash | SHORT | 1 | 16 | 16 - 498 | 0x920a FocalLength | RATIONAL | 1 | 894 | 440/10 - 510 | 0x927c MakerNote | UNDEFINED | 3826 | 902 | Nikon.....II*.....9.+...$...... ... + address | tag | type | count | offset | value + 318 | 0x829a ExposureTime | RATIONAL | 1 | 814 | 10/4000 + 330 | 0x829d FNumber | RATIONAL | 1 | 822 | 100/10 + 342 | 0x8822 ExposureProgram | SHORT | 1 | | 0 + 354 | 0x8827 ISOSpeedRatings | SHORT | 1 | | 200 + 366 | 0x8830 SensitivityType | SHORT | 1 | | 2 + 378 | 0x9000 ExifVersion | UNDEFINED | 4 | | 0230 + 390 | 0x9003 DateTimeOriginal | ASCII | 20 | 830 | 2015:07:16 15:38:54 + 402 | 0x9004 DateTimeDigitized | ASCII | 20 | 850 | 2015:07:16 15:38:54 + 414 | 0x9101 ComponentsConfiguration | UNDEFINED | 4 | | ... + 426 | 0x9102 CompressedBitsPerPixel | RATIONAL | 1 | 870 | 2/1 + 438 | 0x9204 ExposureBiasValue | SRATIONAL | 1 | 878 | 0/6 + 450 | 0x9205 MaxApertureValue | RATIONAL | 1 | 886 | 43/10 + 462 | 0x9207 MeteringMode | SHORT | 1 | | 5 + 474 | 0x9208 LightSource | SHORT | 1 | | 0 + 486 | 0x9209 Flash | SHORT | 1 | | 16 + 498 | 0x920a FocalLength | RATIONAL | 1 | 894 | 440/10 + 510 | 0x927c MakerNote | UNDEFINED | 3826 | 902 | Nikon.....II*.....9.+...$...... ... STRUCTURE OF TIFF FILE (II): MemIo - address | tag | type | count | offset | value - 10 | 0x002b | ASCII | 36 | 698 | 48 49 48 48 0 0 2 0 0 0 0 0 0 0 ... - 22 | 0x002c | ASCII | 1157 | 734 | 48 49 48 49 35 0 128 2 170 1 0 0 ... - 34 | 0x002d | ASCII | 8 | 1892 | 512 0 0 - 46 | 0x0032 | ASCII | 20 | 1900 | 48 49 48 48 1 0 0 0 - 58 | 0x0035 | ASCII | 16 | 1920 | 48 50 48 48 0 0 - 70 | 0x003b | ASCII | 32 | 1936 | 256/256 256/256 256/256 256/256 - 82 | 0x003c | ASCII | 2 | 49 | 1 - 94 | 0x009d | ASCII | 2 | 48 | 0 - 106 | 0x00a3 | BYTE | 1 | 0 | - 118 | 0x00b6 | ASCII | 16 | 1968 | 0 0 0 0 0 0 0 0 - 130 | 0x00bb | ASCII | 26 | 1984 | 48 50 48 48 255 255 255 0 - 142 | 0x00bf | ASCII | 2 | 48 | 0 - 154 | 0x00c0 | ASCII | 21 | 2010 | 60 1 12 0 144 1 12 0 - 166 | 0x0022 | SHORT | 1 | 65535 | 65535 - 178 | 0x008a | SHORT | 1 | 1 | 1 - 190 | 0x001e GPSDifferential | SHORT | 1 | 1 | 1 - 202 | 0x001b GPSProcessingMethod | SHORT | 7 | 2032 | 0 6016 4016 6016 4016 ... - 214 | 0x0019 GPSDestDistanceRef | SRATIONAL | 1 | 2046 | 0/6 - 226 | 0x000e GPSTrackRef | UNDEFINED | 4 | 786688 | ... - 238 | 0x001c GPSAreaInformation | SHORT | 3 | 2054 | 0 1 6 - 250 | 0x0018 GPSDestBearing | UNDEFINED | 4 | 393472 | ... - 262 | 0x0012 GPSMapDatum | UNDEFINED | 4 | 393472 | ... - 274 | 0x0009 GPSStatus | ASCII | 20 | 2060 | - 286 | 0x0017 GPSDestBearingRef | UNDEFINED | 4 | 393472 | ... - 298 | 0x00a8 | UNDEFINED | 49 | 2080 | 0106........................... ... - 310 | 0x0087 | BYTE | 1 | 0 | - 322 | 0x0008 FlashSetting | ASCII | 13 | 2130 | - 334 | 0x0007 Focus | ASCII | 7 | 2144 | AF-A - 346 | 0x00b1 | SHORT | 1 | 4 | 4 - 358 | 0x0013 GPSDestLatitudeRef | SHORT | 2 | 13107200 | 0 200 - 370 | 0x0002 ISOSpeed | SHORT | 2 | 13107200 | 0 200 - 382 | 0x0016 GPSDestLongitude | SHORT | 4 | 2152 | 0 0 6000 4000 - 394 | 0x00a2 | LONG | 1 | 6173648 | 6173648 - 406 | 0x0084 | RATIONAL | 4 | 2160 | 180/10 2500/10 35/10 63/10 - 418 | 0x008b | UNDEFINED | 4 | 786743 | 7.. - 430 | 0x0083 | BYTE | 1 | 14 | . - 442 | 0x0095 | ASCII | 5 | 2192 | OFF - 454 | 0x000d GPSSpeed | UNDEFINED | 4 | 393472 | ... - 466 | 0x0004 Quality | ASCII | 8 | 2198 | NORMAL - 478 | 0x009e | SHORT | 10 | 2206 | 0 0 0 0 0 ... - 490 | 0x001d GPSDateStamp | ASCII | 8 | 2226 | 2567806 - 502 | 0x0089 | SHORT | 1 | 0 | 0 - 514 | 0x00a7 | LONG | 1 | 9608 | 9608 - 526 | 0x00ab | ASCII | 16 | 2234 | AUTO(FLASH OFF) - 538 | 0x0001 Version | UNDEFINED | 4 | 825307696 | 0211 - 550 | 0x000c GPSSpeedRef | RATIONAL | 4 | 2250 | 538/256 354/256 256/256 256/256 - 562 | 0x0005 WhiteBalance | ASCII | 13 | 2282 | AUTO - 574 | 0x000b ProcessingSoftware | SSHORT | 2 | 0 | 0 0 - 586 | 0x00b7 | UNDEFINED | 30 | 2296 | 0100....i.................... - 598 | 0x0097 | UNDEFINED | 1188 | 2326 | 0219.dU....W..2......:.......F.# ... - 610 | 0x00b8 | UNDEFINED | 172 | 3514 | 0100..e........................ ... - 622 | 0x0025 | UNDEFINED | 14 | 3686 | H.....H...... - 634 | 0x0098 | UNDEFINED | 33 | 3700 | 0204.W....z.o..#[.....!o.x..E... ... - 646 | 0x00b0 | UNDEFINED | 16 | 3734 | 0100........... - 658 | 0x0023 | UNDEFINED | 58 | 3750 | 0100STANDARD............STANDARD ... - 670 | 0x001f | UNDEFINED | 8 | 3808 | 0100... - 682 | 0x0024 | UNDEFINED | 4 | 65536 | ... + address | tag | type | count | offset | value + 10 | 0x002b | ASCII | 36 | 698 | 48 49 48 48 0 0 2 0 0 0 0 0 0 0 ... + 22 | 0x002c | ASCII | 1157 | 734 | 48 49 48 49 35 0 128 2 170 1 0 0 ... + 34 | 0x002d | ASCII | 8 | 1892 | 512 0 0 + 46 | 0x0032 | ASCII | 20 | 1900 | 48 49 48 48 1 0 0 0 + 58 | 0x0035 | ASCII | 16 | 1920 | 48 50 48 48 0 0 + 70 | 0x003b | ASCII | 32 | 1936 | 256/256 256/256 256/256 256/256 + 82 | 0x003c | ASCII | 2 | | 1 + 94 | 0x009d | ASCII | 2 | | 0 + 106 | 0x00a3 | BYTE | 1 | | + 118 | 0x00b6 | ASCII | 16 | 1968 | 0 0 0 0 0 0 0 0 + 130 | 0x00bb | ASCII | 26 | 1984 | 48 50 48 48 255 255 255 0 + 142 | 0x00bf | ASCII | 2 | | 0 + 154 | 0x00c0 | ASCII | 21 | 2010 | 60 1 12 0 144 1 12 0 + 166 | 0x0022 | SHORT | 1 | | 65535 + 178 | 0x008a | SHORT | 1 | | 1 + 190 | 0x001e GPSDifferential | SHORT | 1 | | 1 + 202 | 0x001b GPSProcessingMethod | SHORT | 7 | 2032 | 0 6016 4016 6016 4016 ... + 214 | 0x0019 GPSDestDistanceRef | SRATIONAL | 1 | 2046 | 0/6 + 226 | 0x000e GPSTrackRef | UNDEFINED | 4 | | ... + 238 | 0x001c GPSAreaInformation | SHORT | 3 | 2054 | 0 1 6 + 250 | 0x0018 GPSDestBearing | UNDEFINED | 4 | | ... + 262 | 0x0012 GPSMapDatum | UNDEFINED | 4 | | ... + 274 | 0x0009 GPSStatus | ASCII | 20 | 2060 | + 286 | 0x0017 GPSDestBearingRef | UNDEFINED | 4 | | ... + 298 | 0x00a8 | UNDEFINED | 49 | 2080 | 0106........................... ... + 310 | 0x0087 | BYTE | 1 | | + 322 | 0x0008 FlashSetting | ASCII | 13 | 2130 | + 334 | 0x0007 Focus | ASCII | 7 | 2144 | AF-A + 346 | 0x00b1 | SHORT | 1 | | 4 + 358 | 0x0013 GPSDestLatitudeRef | SHORT | 2 | | 0 200 + 370 | 0x0002 ISOSpeed | SHORT | 2 | | 0 200 + 382 | 0x0016 GPSDestLongitude | SHORT | 4 | 2152 | 0 0 6000 4000 + 394 | 0x00a2 | LONG | 1 | | 6173648 + 406 | 0x0084 | RATIONAL | 4 | 2160 | 180/10 2500/10 35/10 63/10 + 418 | 0x008b | UNDEFINED | 4 | | 7.. + 430 | 0x0083 | BYTE | 1 | | . + 442 | 0x0095 | ASCII | 5 | 2192 | OFF + 454 | 0x000d GPSSpeed | UNDEFINED | 4 | | ... + 466 | 0x0004 Quality | ASCII | 8 | 2198 | NORMAL + 478 | 0x009e | SHORT | 10 | 2206 | 0 0 0 0 0 ... + 490 | 0x001d GPSDateStamp | ASCII | 8 | 2226 | 2567806 + 502 | 0x0089 | SHORT | 1 | | 0 + 514 | 0x00a7 | LONG | 1 | | 9608 + 526 | 0x00ab | ASCII | 16 | 2234 | AUTO(FLASH OFF) + 538 | 0x0001 Version | UNDEFINED | 4 | | 0211 + 550 | 0x000c GPSSpeedRef | RATIONAL | 4 | 2250 | 538/256 354/256 256/256 256/256 + 562 | 0x0005 WhiteBalance | ASCII | 13 | 2282 | AUTO + 574 | 0x000b ProcessingSoftware | SSHORT | 2 | | 0 0 + 586 | 0x00b7 | UNDEFINED | 30 | 2296 | 0100....i.................... + 598 | 0x0097 | UNDEFINED | 1188 | 2326 | 0219.dU....W..2......:.......F.# ... + 610 | 0x00b8 | UNDEFINED | 172 | 3514 | 0100..e........................ ... + 622 | 0x0025 | UNDEFINED | 14 | 3686 | H.....H...... + 634 | 0x0098 | UNDEFINED | 33 | 3700 | 0204.W....z.o..#[.....!o.x..E... ... + 646 | 0x00b0 | UNDEFINED | 16 | 3734 | 0100........... + 658 | 0x0023 | UNDEFINED | 58 | 3750 | 0100STANDARD............STANDARD ... + 670 | 0x001f | UNDEFINED | 8 | 3808 | 0100... + 682 | 0x0024 | UNDEFINED | 4 | | ... END MemIo - 522 | 0x9286 UserComment | UNDEFINED | 44 | 4728 | ........ ... - 534 | 0x9290 SubSecTime | ASCII | 3 | 12336 | 00 - 546 | 0x9291 SubSecTimeOriginal | ASCII | 3 | 12336 | 00 - 558 | 0x9292 SubSecTimeDigitized | ASCII | 3 | 12336 | 00 - 570 | 0xa000 FlashpixVersion | UNDEFINED | 4 | 808464688 | 0100 - 582 | 0xa001 ColorSpace | SHORT | 1 | 1 | 1 - 594 | 0xa002 PixelXDimension | LONG | 1 | 6000 | 6000 - 606 | 0xa003 PixelYDimension | LONG | 1 | 4000 | 4000 - 618 | 0xa217 SensingMethod | SHORT | 1 | 2 | 2 - 630 | 0xa300 FileSource | UNDEFINED | 1 | 3 | . - 642 | 0xa301 SceneType | UNDEFINED | 1 | 1 | . - 654 | 0xa302 CFAPattern | UNDEFINED | 8 | 4772 | ........ - 666 | 0xa401 CustomRendered | SHORT | 1 | 0 | 0 - 678 | 0xa402 ExposureMode | SHORT | 1 | 0 | 0 - 690 | 0xa403 WhiteBalance | SHORT | 1 | 0 | 0 - 702 | 0xa404 DigitalZoomRatio | RATIONAL | 1 | 4780 | 1/1 - 714 | 0xa405 FocalLengthIn35mmFilm | SHORT | 1 | 66 | 66 - 726 | 0xa406 SceneCaptureType | SHORT | 1 | 0 | 0 - 738 | 0xa407 GainControl | SHORT | 1 | 0 | 0 - 750 | 0xa408 Contrast | SHORT | 1 | 0 | 0 - 762 | 0xa409 Saturation | SHORT | 1 | 0 | 0 - 774 | 0xa40a Sharpness | SHORT | 1 | 0 | 0 - 786 | 0xa40c SubjectDistanceRange | SHORT | 1 | 0 | 0 - 798 | 0xa420 ImageUniqueID | ASCII | 33 | 4788 | 090caaf2c085f3e102513b24750041aa ... + 522 | 0x9286 UserComment | UNDEFINED | 44 | 4728 | ........ ... + 534 | 0x9290 SubSecTime | ASCII | 3 | | 00 + 546 | 0x9291 SubSecTimeOriginal | ASCII | 3 | | 00 + 558 | 0x9292 SubSecTimeDigitized | ASCII | 3 | | 00 + 570 | 0xa000 FlashpixVersion | UNDEFINED | 4 | | 0100 + 582 | 0xa001 ColorSpace | SHORT | 1 | | 1 + 594 | 0xa002 PixelXDimension | LONG | 1 | | 6000 + 606 | 0xa003 PixelYDimension | LONG | 1 | | 4000 + 618 | 0xa217 SensingMethod | SHORT | 1 | | 2 + 630 | 0xa300 FileSource | UNDEFINED | 1 | | . + 642 | 0xa301 SceneType | UNDEFINED | 1 | | . + 654 | 0xa302 CFAPattern | UNDEFINED | 8 | 4772 | ........ + 666 | 0xa401 CustomRendered | SHORT | 1 | | 0 + 678 | 0xa402 ExposureMode | SHORT | 1 | | 0 + 690 | 0xa403 WhiteBalance | SHORT | 1 | | 0 + 702 | 0xa404 DigitalZoomRatio | RATIONAL | 1 | 4780 | 1/1 + 714 | 0xa405 FocalLengthIn35mmFilm | SHORT | 1 | | 66 + 726 | 0xa406 SceneCaptureType | SHORT | 1 | | 0 + 738 | 0xa407 GainControl | SHORT | 1 | | 0 + 750 | 0xa408 Contrast | SHORT | 1 | | 0 + 762 | 0xa409 Saturation | SHORT | 1 | | 0 + 774 | 0xa40a Sharpness | SHORT | 1 | | 0 + 786 | 0xa40c SubjectDistanceRange | SHORT | 1 | | 0 + 798 | 0xa420 ImageUniqueID | ASCII | 33 | 4788 | 090caaf2c085f3e102513b24750041aa ... END MemIo - 178 | 0x8825 GPSTag | LONG | 1 | 4822 | 4822 - 5072 | 0x0100 ImageWidth | LONG | 1 | 256 | 256 - 5084 | 0x0101 ImageLength | LONG | 1 | 170 | 170 - 5096 | 0x0102 BitsPerSample | SHORT | 3 | 5172 | 8 8 8 - 5108 | 0x0103 Compression | SHORT | 1 | 6 | 6 - 5120 | 0x0106 PhotometricInterpretation | SHORT | 1 | 6 | 6 - 5132 | 0x0115 SamplesPerPixel | SHORT | 1 | 3 | 3 - 5144 | 0x0201 JPEGInterchangeFormat | LONG | 1 | 5178 | 5178 - 5156 | 0x0202 JPEGInterchangeFormatLeng | LONG | 1 | 6861 | 6861 + 178 | 0x8825 GPSTag | LONG | 1 | | 4822 + 5072 | 0x0100 ImageWidth | LONG | 1 | | 256 + 5084 | 0x0101 ImageLength | LONG | 1 | | 170 + 5096 | 0x0102 BitsPerSample | SHORT | 3 | 5172 | 8 8 8 + 5108 | 0x0103 Compression | SHORT | 1 | | 6 + 5120 | 0x0106 PhotometricInterpretation | SHORT | 1 | | 6 + 5132 | 0x0115 SamplesPerPixel | SHORT | 1 | | 3 + 5144 | 0x0201 JPEGInterchangeFormat | LONG | 1 | | 5178 + 5156 | 0x0202 JPEGInterchangeFormatLength | LONG | 1 | | 6861 END MemIo XMP | 2864 | 184662 |