From: Jan P. <pa...@us...> - 2004-05-10 12:29:57
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8013 Modified Files: exif-data.c Log Message: 2004-05-10 Jan Patera <pa...@us...> * Support of Nikon maker note Index: exif-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- exif-data.c 4 May 2004 21:27:01 -0000 1.37 +++ exif-data.c 10 May 2004 12:29:48 -0000 1.38 @@ -659,26 +659,31 @@ e = exif_data_get_entry (data, EXIF_TAG_MAKER_NOTE); if (e) { - /* Olympus */ + /* Olympus & Nikon */ if ((e->size >= 5) && (!memcmp (e->data, "OLYMP", 5) || - !memcmp (e->data, "Nikon", 5))) - data->priv->md = exif_mnote_data_olympus_new (); - - /* Pentax */ - else if ((e->size >= 2) && (e->data[0] == 0x00) - && (e->data[1] == 0x1b)) - data->priv->md = exif_mnote_data_pentax_new (); - - else { - em = exif_data_get_entry (data, EXIF_TAG_MAKE); - if (em) { - char value[7]; + !memcmp (e->data, "Nikon", 5))) { + data->priv->md = exif_mnote_data_olympus_new (); + } else { + char value[7]; + em = exif_data_get_entry (data, EXIF_TAG_MAKE); + /* Pentax & some variant of Nikon */ + if ((e->size >= 2) && (e->data[0] == 0x00) + && (e->data[1] == 0x1b)) { + if (em && !strnicmp (exif_entry_get_value (em, value, sizeof(value)), "Nikon", 5)) { + data->priv->md = exif_mnote_data_olympus_new (); + } else { + data->priv->md = exif_mnote_data_pentax_new (); + } - /* Canon */ - if (!strcmp (exif_entry_get_value (em, value, sizeof(value)), "Canon")) - data->priv->md = exif_mnote_data_canon_new (); + } else { + /* Canon */ + if (em) { + + if (!strcmp (exif_entry_get_value (em, value, sizeof(value)), "Canon")) + data->priv->md = exif_mnote_data_canon_new (); + } + } } - } /* * If we are able to interpret the maker note, do so. |