Under the MSVC C++ 2005 compilier, libexif is unable to parse most of an exif tag due to a sign extension when converting an ExifShort (uint16_t) to an enum (int).
For my purposes, I put in quick fixes on lines (attached):
-355 (exif_data_load_data_content() tag assignment);
-162 (exif_data_load_data_entry() entry->tag assignment);
-163 (exif_data_load_data_entry entry->format assignment);
There may be other places which require this fix or a more elegant one.
exif-data.c
Logged In: YES
user_id=1808825
Originator: YES
using libexif 0.6.15
Logged In: YES
user_id=1808825
Originator: YES
using libexif 0.6.15
Logged In: YES
user_id=1808825
Originator: YES
using libexif 0.6.15
Here is the proposed patch in unified diff form.
Rather than 0xffff & does it work with an explicit cast to the enum type? And is that change really necessary on entry->components since both sides are unsigned?