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;
|