#531: Applied patch from Michal Cihar.

v0.27.3
Andreas Huggel 18 years ago
parent 5881cab826
commit e54ecee647

@ -596,6 +596,7 @@ namespace Exiv2 {
{ 0x060d, "smc PENTAX-FA* 400mm F5.6 ED[IF]" }, { 0x060d, "smc PENTAX-FA* 400mm F5.6 ED[IF]" },
{ 0x060e, "smc PENTAX-FA* MACRO 200mm F4 ED[IF]" }, { 0x060e, "smc PENTAX-FA* MACRO 200mm F4 ED[IF]" },
{ 0x0700, "smc PENTAX-DA 21mm F3.2 AL Limited" }, { 0x0700, "smc PENTAX-DA 21mm F3.2 AL Limited" },
{ 0x07e7, "smc PENTAX-DA 18-250mm F3.5-6.3ED AL [IF]" },
{ 0x07ee, "TAMRON AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] MACRO" }, { 0x07ee, "TAMRON AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] MACRO" },
{ 0x07f3, "smc PENTAX-DA 70mm F2.4 Limited" }, { 0x07f3, "smc PENTAX-DA 70mm F2.4 Limited" },
{ 0x07f4, "smc PENTAX-DA 21mm F3.2 AL Limited" }, { 0x07f4, "smc PENTAX-DA 21mm F3.2 AL Limited" },
@ -851,13 +852,13 @@ namespace Exiv2 {
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0032, "ImageProcessing", N_("Image processing"), TagInfo(0x0032, "ImageProcessing", N_("Image processing"),
N_("Image processing"), N_("Image processing"),
pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxImageProcessing, 4)), pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxImageProcessing, 4, 0)),
TagInfo(0x0033, "PictureMode", N_("Picture mode"), TagInfo(0x0033, "PictureMode", N_("Picture mode"),
N_("Picture mode"), N_("Picture mode"),
pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxPictureMode, 3)), pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxPictureMode, 3, 0)),
TagInfo(0x0034, "DriveMode", N_("Drive mode"), TagInfo(0x0034, "DriveMode", N_("Drive mode"),
N_("Drive mode"), N_("Drive mode"),
pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxDriveMode, 4)), pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxDriveMode, 4, 0)),
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0037, "ColorSpace", N_("Color space"), TagInfo(0x0037, "ColorSpace", N_("Color space"),
N_("Color space"), N_("Color space"),
@ -865,7 +866,7 @@ namespace Exiv2 {
/* Some missing ! */ /* Some missing ! */
TagInfo(0x003f, "LensType", N_("Lens type"), TagInfo(0x003f, "LensType", N_("Lens type"),
N_("Lens type"), N_("Lens type"),
pentaxIfdId, makerTags, unsignedByte, EXV_PRINT_COMBITAG(pentaxLensType, 2)), pentaxIfdId, makerTags, unsignedByte, EXV_PRINT_COMBITAG(pentaxLensType, 2, 1)),
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0041, "DigitalFilter", N_("Digital filter"), TagInfo(0x0041, "DigitalFilter", N_("Digital filter"),
N_("Digital filter"), N_("Digital filter"),

@ -167,10 +167,10 @@ namespace Exiv2 {
@brief Print function to translate Pentax "combi-values" to a description @brief Print function to translate Pentax "combi-values" to a description
by looking up a reference table. by looking up a reference table.
*/ */
template <int N, const TagDetails (&array)[N], int count> template <int N, const TagDetails (&array)[N], int count, int ignoredcount>
std::ostream& printCombiTag(std::ostream& os, const Value& value) std::ostream& printCombiTag(std::ostream& os, const Value& value)
{ {
if (value.count() != count || count > 4) { if ((value.count() != count && value.count() != (count + ignoredcount)) || count > 4) {
return printValue(os, value); return printValue(os, value);
} }
unsigned long l = 0; unsigned long l = 0;
@ -194,7 +194,7 @@ namespace Exiv2 {
} }
//! Shortcut for the printCombiTag template which requires typing the array name only once. //! Shortcut for the printCombiTag template which requires typing the array name only once.
#define EXV_PRINT_COMBITAG(array, count) printCombiTag<EXV_COUNTOF(array), array, count> #define EXV_PRINT_COMBITAG(array, count, ignoredcount) printCombiTag<EXV_COUNTOF(array), array, count, ignoredcount>
} // namespace Exiv2 } // namespace Exiv2

Loading…
Cancel
Save