From: Dan F. <dfa...@us...> - 2008-01-31 08:25:39
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv1642 Modified Files: exif-entry.c exif-tag.c Log Message: GNU gettext behaves strangely when given an empty string, so make sure not to do that. Index: exif-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-tag.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -p -d -r1.38 -r1.39 --- exif-tag.c 15 Dec 2007 16:56:27 -0000 1.38 +++ exif-tag.c 31 Jan 2008 08:25:33 -0000 1.39 @@ -760,8 +760,13 @@ exif_tag_get_description_in_ifd (ExifTag if (ifd >= EXIF_IFD_COUNT) return NULL; for (i = 0; ExifTagTable[i].description; i++) - if ((ExifTagTable[i].tag == tag) && RECORDED) break; - return _(ExifTagTable[i].description); + if ((ExifTagTable[i].tag == tag) && RECORDED) { + /* GNU gettext acts strangely when given an empty string */ + if (!*ExifTagTable[i].description) + return ""; + return _(ExifTagTable[i].description); + } + return NULL; } Index: exif-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-entry.c,v retrieving revision 1.115 retrieving revision 1.116 diff -u -p -d -r1.115 -r1.116 --- exif-entry.c 25 Jan 2008 03:51:30 -0000 1.115 +++ exif-entry.c 31 Jan 2008 08:25:33 -0000 1.116 @@ -976,6 +976,8 @@ exif_entry_get_value (ExifEntry *e, char for (j = 0; list[i].strings[j] && (j < v_short); j++); if (!list[i].strings[j]) snprintf (val, maxlen, "%i", v_short); + else if (!*list[i].strings[j]) + val[0] = 0; else strncpy (val, _(list[i].strings[j]), maxlen); break; |