Project

General

Profile

Feature #531 » exiv2-pentax-lens.patch

Redmine Admin, 02 Dec 2007 21:21

View differences:

src/pentaxmn.hpp (working copy)
167 167
      @brief Print function to translate Pentax "combi-values" to a description
168 168
             by looking up a reference table.
169 169
     */
170
    template <int N, const TagDetails (&array)[N], int count>
170
    template <int N, const TagDetails (&array)[N], int count, int ignoredcount>
171 171
    std::ostream& printCombiTag(std::ostream& os, const Value& value)
172 172
    {
173
        if (value.count() != count || count > 4) {
173
        if ((value.count() != count && value.count() != (count + ignoredcount)) || count > 4) {
174 174
            return printValue(os, value);
175 175
        }
176 176
        unsigned long l = 0;
......
194 194
    }
195 195

  
196 196
//! Shortcut for the printCombiTag template which requires typing the array name only once.
197
#define EXV_PRINT_COMBITAG(array, count) printCombiTag<EXV_COUNTOF(array), array, count>
197
#define EXV_PRINT_COMBITAG(array, count, ignoredcount) printCombiTag<EXV_COUNTOF(array), array, count, ignoredcount>
198 198

  
199 199
}                                       // namespace Exiv2
200 200

  
src/pentaxmn.cpp (working copy)
596 596
        { 0x060d, "smc PENTAX-FA* 400mm F5.6 ED[IF]" },
597 597
        { 0x060e, "smc PENTAX-FA* MACRO 200mm F4 ED[IF]" },
598 598
        { 0x0700, "smc PENTAX-DA 21mm F3.2 AL Limited" },
599
        { 0x07e7, "smc PENTAX-DA 18-250mm F3.5-6.3ED AL [IF]" },
599 600
        { 0x07ee, "TAMRON AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] MACRO" },
600 601
        { 0x07f3, "smc PENTAX-DA 70mm F2.4 Limited" },
601 602
        { 0x07f4, "smc PENTAX-DA 21mm F3.2 AL Limited" },
......
851 852
        /* Some missing ! */
852 853
        TagInfo(0x0032, "ImageProcessing", N_("Image processing"),
853 854
                N_("Image processing"),
854
                pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxImageProcessing, 4)),
855
                pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxImageProcessing, 4, 0)),
855 856
        TagInfo(0x0033, "PictureMode", N_("Picture mode"),
856 857
                N_("Picture mode"),
857
                pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxPictureMode, 3)),
858
                pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxPictureMode, 3, 0)),
858 859
        TagInfo(0x0034, "DriveMode", N_("Drive mode"),
859 860
                N_("Drive mode"),
860
                pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxDriveMode, 4)),
861
                pentaxIfdId, makerTags, undefined, EXV_PRINT_COMBITAG(pentaxDriveMode, 4, 0)),
861 862
        /* Some missing ! */
862 863
        TagInfo(0x0037, "ColorSpace", N_("Color space"),
863 864
                N_("Color space"),
......
865 866
        /* Some missing ! */
866 867
        TagInfo(0x003f, "LensType", N_("Lens type"),
867 868
                N_("Lens type"),
868
                pentaxIfdId, makerTags, unsignedByte, EXV_PRINT_COMBITAG(pentaxLensType, 2)),
869
                pentaxIfdId, makerTags, unsignedByte, EXV_PRINT_COMBITAG(pentaxLensType, 2, 1)),
869 870
        /* Some missing ! */
870 871
        TagInfo(0x0041, "DigitalFilter", N_("Digital filter"),
871 872
                N_("Digital filter"),
(2-2/2)