From 806a05b0e8b2020cdaaa08b535bceb6a0bce6764 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Mon, 2 Jun 2014 18:04:41 +0900 Subject: [PATCH] msgl-check: Ignore non-fatal errors in check_header_entry Problem reported by Richard Hughes at . After , "msgfmt -c" reports error on missing PO headers. However, it turned out to be too strict for the projects using Launchpad Translations. Let's relax the check for the moment and wait for one or two release cycles. * gettext-tools/src/msgl-check.c (check_header_entry): Report missing required headers as warning, instead of error. --- gettext-tools/src/msgl-check.c | 11 +++++++++-- gettext-tools/tests/msgfmt-10 | 6 +++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gettext-tools/src/msgl-check.c b/gettext-tools/src/msgl-check.c index ee68ae4..a745cb0 100644 --- a/gettext-tools/src/msgl-check.c +++ b/gettext-tools/src/msgl-check.c @@ -777,8 +777,13 @@ check_header_entry (const message_ty *mp, const char *msgstr_string) for (cnt = 0; cnt < nfields; ++cnt) { +#if 0 int severity = (cnt < nrequiredfields ? PO_SEVERITY_ERROR : PO_SEVERITY_WARNING); +#else + int severity = + PO_SEVERITY_WARNING; +#endif const char *field = required_fields[cnt]; size_t len = strlen (field); const char *line; @@ -805,7 +810,8 @@ check_header_entry (const message_ty *mp, const char *msgstr_string) field); po_xerror (severity, mp, NULL, 0, 0, true, msg); free (msg); - seen_errors++; + if (severity == PO_SEVERITY_ERROR) + seen_errors++; } } break; @@ -821,7 +827,8 @@ check_header_entry (const message_ty *mp, const char *msgstr_string) field); po_xerror (severity, mp, NULL, 0, 0, true, msg); free (msg); - seen_errors++; + if (severity == PO_SEVERITY_ERROR) + seen_errors++; } } return seen_errors; diff --git a/gettext-tools/tests/msgfmt-10 b/gettext-tools/tests/msgfmt-10 index 03ee55b..ddc1566 100755 --- a/gettext-tools/tests/msgfmt-10 +++ b/gettext-tools/tests/msgfmt-10 @@ -48,7 +48,6 @@ msgstr "" "Project-Id-Version: GNU bison\n" "PO-Revision-Date: 2001-04-05 19:47+0200\n" "Last-Translator: ABC DEF \n" -"Language-Team: test \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-9\n" "Content-Transfer-Encoding: 8bit\n" @@ -68,9 +67,10 @@ ${MSGFMT} --check -o /dev/null mf-test10.po2 \ 2>&1 | grep -v '^==' | sed -e 's|[^ ]*\\msgfmt\.exe|msgfmt|' -e 's|^msgfmt\.exe|msgfmt|' | LC_ALL=C tr -d '\r' > mf-test10.err cat << EOF > mf-test10.ok +mf-test10.po2:6: warning: header field 'Language-Team' missing in header mf-test10.po2:6: warning: header field 'Language' missing in header -mf-test10.po2:20: number of format specifications in 'msgid_plural' and 'msgstr[1]' does not match -msgfmt: found 2 fatal errors +mf-test10.po2:19: number of format specifications in 'msgid_plural' and 'msgstr[1]' does not match +msgfmt: found 1 fatal errors EOF : ${DIFF=diff} -- 1.9.0