File 90_changeset_r2984.diff of Package exiv2
Index: trunk/src/nikonmn.cpp
===================================================================
--- trunk/src/nikonmn.cpp (revision 2983)
+++ trunk/src/nikonmn.cpp (revision 2984)
@@ -2051,6 +2051,7 @@
{0x7A,0x40,0x2D,0x80,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x05, "Sigma", "888558", "18-200mm F3.5-6.3 DC OS HSM"},
{0xED,0x40,0x2D,0x80,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x05, "Sigma", "888558", "18-200mm F3.5-6.3 DC OS HSM"},
{0xA5,0x40,0x2D,0x88,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x05, "Sigma", "", "18-250mm F3.5-6.3 DC OS HSM"},
+{0x92,0x40,0x2D,0x88,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x05, "Sigma", "", "18-250mm F3.5-6.3 DC Macro OS HSM"}, // stps varies with focal length for this lens.
{0x26,0x48,0x31,0x49,0x24,0x24,0x1C,0x02,0x00,0x00,0x05, "Sigma", "", "20-40mm F2.8"},
{0x26,0x48,0x37,0x56,0x24,0x24,0x1C,0x02,0x00,0x00,0x05, "Sigma", "547448", "24-60mm F2.8 EX DG"},
{0xB6,0x48,0x37,0x56,0x24,0x24,0x1C,0x02,0x00,0x00,0x05, "Sigma", "547448", "24-60mm F2.8 EX DG"},
@@ -2338,7 +2339,8 @@
for (int i = 0; fmountlens[i].lensname != NULL; ++i) {
if ( raw[0] == fmountlens[i].lid
- && raw[1] == fmountlens[i].stps
+ // stps varies with focal length for some Sigma zoom lenses.
+ &&(raw[1] == fmountlens[i].stps || fmountlens[i].mid == 0x05)
&& raw[2] == fmountlens[i].focs
&& raw[3] == fmountlens[i].focl
&& raw[4] == fmountlens[i].aps