#1062 Exif.NikonWt.Timezone translated value contains cruft.

v0.27.3
Robin Mills 10 years ago
parent a8c335ba39
commit 627e06e14d

@ -717,14 +717,14 @@ namespace Exiv2 {
{ {
return tagInfoPc_; return tagInfoPc_;
} }
//! OnOff //! OnOff
extern const TagDetails aftOnOff[] = { extern const TagDetails aftOnOff[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("On") } { 2, N_("On") }
}; };
// Nikon3 AF Fine Tune // Nikon3 AF Fine Tune
const TagInfo Nikon3MakerNote::tagInfoAFT_[] = { const TagInfo Nikon3MakerNote::tagInfoAFT_[] = {
TagInfo(0, "AFFineTune", N_("AF Fine Tune"), N_("AF fine tune"), nikonAFTId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(aftOnOff)), TagInfo(0, "AFFineTune", N_("AF Fine Tune"), N_("AF fine tune"), nikonAFTId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(aftOnOff)),
@ -733,7 +733,7 @@ namespace Exiv2 {
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownNikonAFTTag)", "(UnknownNikonAFTTag)", N_("Unknown Nikon AF Fine Tune Tag"), nikonAFTId, makerTags, unsignedByte, 1, printValue) TagInfo(0xffff, "(UnknownNikonAFTTag)", "(UnknownNikonAFTTag)", N_("Unknown Nikon AF Fine Tune Tag"), nikonAFTId, makerTags, unsignedByte, 1, printValue)
}; };
const TagInfo* Nikon3MakerNote::tagListAFT() const TagInfo* Nikon3MakerNote::tagListAFT()
{ {
return tagInfoAFT_; return tagInfoAFT_;
@ -1747,7 +1747,7 @@ namespace Exiv2 {
// //
// //
// Seven misidentified lenses due to double LensIDs: // Seven misidentified lenses due to double LensIDs:
// //
// 2F 48 30 44 24 24 29 02.1: Nikon AF Zoom-Nikkor 20-35mm f/2.8D IF // 2F 48 30 44 24 24 29 02.1: Nikon AF Zoom-Nikkor 20-35mm f/2.8D IF
// 2F 48 30 44 24 24 29 02.2: Tokina AT-X 235 AF PRO (AF 20-35mm f/2.8) // 2F 48 30 44 24 24 29 02.2: Tokina AT-X 235 AF PRO (AF 20-35mm f/2.8)
// //
@ -1951,11 +1951,11 @@ fmountlens[] = {
{0x81,0x54,0x80,0x80,0x18,0x18,0x86,0x0E,0x03,0x00,0x00, "Nikon", "JAA336DA", "AF-S VR Nikkor 200mm f/2G IF-ED"}, {0x81,0x54,0x80,0x80,0x18,0x18,0x86,0x0E,0x03,0x00,0x00, "Nikon", "JAA336DA", "AF-S VR Nikkor 200mm f/2G IF-ED"},
{0x82,0x48,0x8E,0x8E,0x24,0x24,0x87,0x0E,0x13,0x00,0x00, "Nikon", "JAA337DA", "AF-S VR Nikkor 300mm f/2.8G IF-ED"}, {0x82,0x48,0x8E,0x8E,0x24,0x24,0x87,0x0E,0x13,0x00,0x00, "Nikon", "JAA337DA", "AF-S VR Nikkor 300mm f/2.8G IF-ED"},
{0x83,0x00,0xB0,0xB0,0x5A,0x5A,0x88,0x04,0x00,0x00,0x00, "Nikon", "", "FSA-L2, EDG 65, 800mm F13 G"}, {0x83,0x00,0xB0,0xB0,0x5A,0x5A,0x88,0x04,0x00,0x00,0x00, "Nikon", "", "FSA-L2, EDG 65, 800mm F13 G"},
//84 //84
//85 //85
//86 //86
//87 //87
//88 //88
{0x89,0x3C,0x53,0x80,0x30,0x3C,0x8B,0x06,0x01,0x00,0x00, "Nikon", "JAA793DA", "AF-S DX Zoom-Nikkor 55-200mm f/4-5.6G ED"}, {0x89,0x3C,0x53,0x80,0x30,0x3C,0x8B,0x06,0x01,0x00,0x00, "Nikon", "JAA793DA", "AF-S DX Zoom-Nikkor 55-200mm f/4-5.6G ED"},
{0x8A,0x54,0x6A,0x6A,0x24,0x24,0x8C,0x0E,0x53,0x00,0x00, "Nikon", "JAA630DA", "AF-S VR Micro-Nikkor 105mm f/2.8G IF-ED"}, {0x8A,0x54,0x6A,0x6A,0x24,0x24,0x8C,0x0E,0x53,0x00,0x00, "Nikon", "JAA630DA", "AF-S VR Micro-Nikkor 105mm f/2.8G IF-ED"},
{0x8B,0x40,0x2D,0x80,0x2C,0x3C,0x8D,0x0E,0x01,0x00,0x00, "Nikon", "JAA794DA", "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED"}, {0x8B,0x40,0x2D,0x80,0x2C,0x3C,0x8D,0x0E,0x01,0x00,0x00, "Nikon", "JAA794DA", "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED"},
@ -2329,10 +2329,10 @@ fmountlens[] = {
{0x06,0x3F,0x68,0x68,0x2C,0x2C,0x06,0x00,0x00,0x00,0x00, "Cosina", "", "AF 100mm F3.5 Macro"}, {0x06,0x3F,0x68,0x68,0x2C,0x2C,0x06,0x00,0x00,0x00,0x00, "Cosina", "", "AF 100mm F3.5 Macro"},
{0x07,0x36,0x3D,0x5F,0x2C,0x3C,0x03,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 28-80mm F3.5-5.6 MC Macro"}, {0x07,0x36,0x3D,0x5F,0x2C,0x3C,0x03,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 28-80mm F3.5-5.6 MC Macro"},
{0x07,0x46,0x3D,0x6A,0x25,0x2F,0x03,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 28-105mm F2.8-3.8 MC"}, {0x07,0x46,0x3D,0x6A,0x25,0x2F,0x03,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 28-105mm F2.8-3.8 MC"},
//M "Cosina" "" "AF Zoom 28-210mm F3.5-5.6"; //M "Cosina" "" "AF Zoom 28-210mm F3.5-5.6";
//M "Cosina" "" "AF Zoom 28-210mm F4.2-6.5 Aspherical IF"; //M "Cosina" "" "AF Zoom 28-210mm F4.2-6.5 Aspherical IF";
//M "Cosina" "" "AF Zoom 28-300mm F4.0-6.3"; //M "Cosina" "" "AF Zoom 28-300mm F4.0-6.3";
//M "Cosina" "" "AF Zoom 70-210mm F2.8-4.0"; //M "Cosina" "" "AF Zoom 70-210mm F2.8-4.0";
{0x12,0x36,0x5C,0x81,0x35,0x3D,0x09,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 70-210mm F4.5-5.6 MC Macro"}, {0x12,0x36,0x5C,0x81,0x35,0x3D,0x09,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 70-210mm F4.5-5.6 MC Macro"},
{0x12,0x39,0x5C,0x8E,0x34,0x3D,0x08,0x02,0x00,0x00,0x00, "Cosina", "", "AF Zoom 70-300mm F4.5-5.6 MC Macro"}, {0x12,0x39,0x5C,0x8E,0x34,0x3D,0x08,0x02,0x00,0x00,0x00, "Cosina", "", "AF Zoom 70-300mm F4.5-5.6 MC Macro"},
{0x12,0x3B,0x68,0x8D,0x3D,0x43,0x09,0x02,0x00,0x00,0x00, "Cosina", "", "AF Zoom 100-300mm F5.6-6.7 MC Macro"}, {0x12,0x3B,0x68,0x8D,0x3D,0x43,0x09,0x02,0x00,0x00,0x00, "Cosina", "", "AF Zoom 100-300mm F5.6-6.7 MC Macro"},
@ -2464,8 +2464,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printAperture(std::ostream& os, std::ostream& Nikon3MakerNote::printAperture(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
std::ios::fmtflags f( os.flags() ); std::ios::fmtflags f( os.flags() );
@ -2483,8 +2483,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printFocal(std::ostream& os, std::ostream& Nikon3MakerNote::printFocal(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
if (value.count() != 1 || value.typeId() != unsignedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {
@ -2498,8 +2498,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printFStops(std::ostream& os, std::ostream& Nikon3MakerNote::printFStops(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
std::ios::fmtflags f( os.flags() ); std::ios::fmtflags f( os.flags() );
@ -2517,8 +2517,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printExitPupilPosition(std::ostream& os, std::ostream& Nikon3MakerNote::printExitPupilPosition(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
std::ios::fmtflags f( os.flags() ); std::ios::fmtflags f( os.flags() );
@ -2536,8 +2536,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printFlashFocalLength(std::ostream& os, std::ostream& Nikon3MakerNote::printFlashFocalLength(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
std::ios::fmtflags f( os.flags() ); std::ios::fmtflags f( os.flags() );
@ -2554,8 +2554,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printRepeatingFlashRate(std::ostream& os, std::ostream& Nikon3MakerNote::printRepeatingFlashRate(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
std::ios::fmtflags f( os.flags() ); std::ios::fmtflags f( os.flags() );
@ -2570,8 +2570,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printRepeatingFlashCount(std::ostream& os, std::ostream& Nikon3MakerNote::printRepeatingFlashCount(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
std::ios::fmtflags f( os.flags() ); std::ios::fmtflags f( os.flags() );
@ -2586,8 +2586,8 @@ fmountlens[] = {
return os; return os;
} }
std::ostream& Nikon3MakerNote::printTimeZone(std::ostream& os, std::ostream& Nikon3MakerNote::printTimeZone(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
std::ios::fmtflags f( os.flags() ); std::ios::fmtflags f( os.flags() );
@ -2599,17 +2599,17 @@ fmountlens[] = {
std::ostringstream oss; std::ostringstream oss;
oss.copyfmt(os); oss.copyfmt(os);
char sign = value.toLong() < 0 ? '-' : '+'; char sign = value.toLong() < 0 ? '-' : '+';
long h = long(std::abs( (int) (value.toFloat()/60.0) )); long h = long(std::abs( (int) (value.toFloat()/60.0) ))%24;
long min = long(std::abs( (int) (value.toFloat()-h*60) )); long min = long(std::abs( (int) (value.toFloat()-h*60) ))%60;
os << std::fixed << "UTC " << sign << std::setw(2) << std::setfill('0') << h << ":" os << std::fixed << "UTC " << sign << std::setw(2) << std::setfill('0') << h << ":"
<< std::setw(2) << std::setfill('0') << min; << std::setw(2) << std::setfill('0') << min;
os.copyfmt(oss); os.copyfmt(oss);
os.flags(f); os.flags(f);
return os; return os;
} }
std::ostream& Nikon3MakerNote::printPictureControl(std::ostream& os, std::ostream& Nikon3MakerNote::printPictureControl(std::ostream& os,
const Value& value, const Value& value,
const ExifData*) const ExifData*)
{ {
if (value.count() != 1 || value.typeId() != unsignedByte) { if (value.count() != 1 || value.typeId() != unsignedByte) {

@ -363,6 +363,13 @@ source ./functions.source
runTest exiv2 -M'set Xmp.dc.title' $filename runTest exiv2 -M'set Xmp.dc.title' $filename
runTest exiv2 -px $filename runTest exiv2 -px $filename
num=1062
filename=exiv2-bug$num.jpg
printf "$num " >&3
echo '------>' Bug $num '<-------' >&2
copyTestFile $filename
runTest exiv2 -pa -g zone $filename
) 3>&1 > $results 2>&1 ) 3>&1 > $results 2>&1
printf "\n" printf "\n"

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Loading…
Cancel
Save