diff --git a/src/pentaxmn.cpp b/src/pentaxmn.cpp index 097330df..dd3f1d49 100644 --- a/src/pentaxmn.cpp +++ b/src/pentaxmn.cpp @@ -1181,10 +1181,16 @@ namespace Exiv2 { } else if ( value.count() == 3 ) { // http://dev.exiv2.org/attachments/download/858/_IGP9032.DNG // $ exiv2 -pv --grep Lens ~/Downloads/_IGP9032.DNG - // 0x003f PentaxDng LensType Byte 3 3 255 0 - // 0x0207 PentaxDng LensInfo Undefined 69 131 0 0 255 0 40 148 68 244 ... - // 0 1 2 3 4 5 6 + // 0x003f PentaxDng LensType Byte 3 3 255 0 + // 0x0207 PentaxDng LensInfo Undefined 69 131 0 0 255 0 40 148 68 244 ... + // 0 1 2 3 4 5 6 if ( lensInfo->toLong(4) == 0 && lensInfo->toLong(5) == 40 && lensInfo->toLong(6) == 148 ) index = 8; + + } else if ( value.count() == 4 ) { + // http://dev.exiv2.org/attachments/download/868/IMGP2221.JPG + // 0x0207 PentaxDng LensInfo Undefined 128 0 131 128 0 0 255 1 184 0 0 0 0 0 + // 0 1 2 3 4 5 6 + if ( lensInfo->count() == 128 && lensInfo->toLong(1) == 131 && lensInfo->toLong(2) == 128 ) index = 8; } if ( index > 0 ) { diff --git a/test/bugfixes-test.sh b/test/bugfixes-test.sh index b110e961..4becf91b 100755 --- a/test/bugfixes-test.sh +++ b/test/bugfixes-test.sh @@ -222,7 +222,7 @@ source ./functions.source num=816 # test Camera: Pentax + Lens:Sigma 55-200mm F4-5.6 DC is correctly reported printf "$num " >&3 echo '------>' Bug $num '<-------' >&2 - for X in a b c d; do + for X in a b c d e; do filename=exiv2-bug${num}${X}.exv copyTestFile $filename runTest exiv2 -pa --grep Lens $filename diff --git a/test/data/bugfixes-test.out b/test/data/bugfixes-test.out index d6890339..62add720 100644 Binary files a/test/data/bugfixes-test.out and b/test/data/bugfixes-test.out differ diff --git a/test/data/exiv2-bug816e.exv b/test/data/exiv2-bug816e.exv new file mode 100644 index 00000000..1f7a1af6 Binary files /dev/null and b/test/data/exiv2-bug816e.exv differ