From: Dan F. <dfa...@us...> - 2009-12-16 23:48:31
|
Update of /cvsroot/libexif/exif/exif In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv12595/exif Modified Files: exif-i18n.c main.c Log Message: Honour --machine-readable with --show-mnote Index: exif-i18n.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/exif-i18n.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -d -r1.7 -r1.8 --- exif-i18n.c 25 Jan 2008 03:34:03 -0000 1.7 +++ exif-i18n.c 16 Dec 2009 23:48:20 -0000 1.8 @@ -21,6 +21,7 @@ exif_i18n_convert_utf8_to_locale (const * no way for the app to know the encoding of the translated text). * In this case, assume the translated text is in UTF-8 (which could * be wrong) and use iconv to convert to the proper encoding. + * This is only an issue with really old gettext versions. */ static iconv_t tr = 0; size_t t = (in ? strlen (in) : 0); Index: main.c =================================================================== RCS file: /cvsroot/libexif/exif/exif/main.c,v retrieving revision 1.80 retrieving revision 1.81 diff -u -p -d -r1.80 -r1.81 --- main.c 11 Dec 2009 08:09:29 -0000 1.80 +++ main.c 16 Dec 2009 23:48:20 -0000 1.81 @@ -315,20 +315,35 @@ main (int argc, const char **argv) return 0; } if (show_description) { - /* - * The C() macro can point to a static buffer so these printfs - * must be done separately. - */ - printf (_("Tag '%s' "), - C(exif_tag_get_title_in_ifd (p.tag, p.ifd))); - printf (_("(0x%04x, '%s'): "), p.tag, - C(exif_tag_get_name_in_ifd (p.tag, p.ifd))); - printf ("%s\n", - C(exif_tag_get_description_in_ifd (p.tag, p.ifd))); + int rc = 0; + const char *name = exif_tag_get_name_in_ifd (p.tag, p.ifd); + if (!name) { + exif_log (log, -1, "exif", _("Unknown tag")); + rc = 1; + + } else if (p.machine_readable) { + /* + * The C() macro can point to a static buffer so these printfs + * must be done separately. + */ + printf ("0x%04x\t%s\t", p.tag, + C(exif_tag_get_name_in_ifd (p.tag, p.ifd))); + printf ("%s\t", C(exif_tag_get_title_in_ifd (p.tag, p.ifd))); + printf ("%s\n", + C(exif_tag_get_description_in_ifd (p.tag, p.ifd))); + + } else { + printf (_("Tag '%s' "), + C(exif_tag_get_title_in_ifd (p.tag, p.ifd))); + printf (_("(0x%04x, '%s'): "), p.tag, + C(exif_tag_get_name_in_ifd (p.tag, p.ifd))); + printf ("%s\n", + C(exif_tag_get_description_in_ifd (p.tag, p.ifd))); + } exif_log_free (log); poptFreeContext (ctx); - return 0; + return rc; } /* Commands related to files */ |