From: Bruno Haible Date: Tue, 15 Jan 2002 13:05:10 +0000 (+0000) Subject: Make iconv_message_list(mlp,encoding,encoding) work without warnings. X-Git-Tag: v0.11~56 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=146a59ce31852252d9e44f471242fcedf595572d;p=thirdparty%2Fgettext.git Make iconv_message_list(mlp,encoding,encoding) work without warnings. --- diff --git a/src/ChangeLog b/src/ChangeLog index 544c79cf0..f84992523 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2002-01-13 Bruno Haible + + * msgl-iconv.c (iconv_message_list): Don't complain by a nonportable + encoding name if it has been overridden by an argument canon_from_code. + 2002-01-13 Bruno Haible * msgl-ascii.c (is_ascii_message): Don't consider a message as being diff --git a/src/msgl-iconv.c b/src/msgl-iconv.c index 06b857f93..28d1f1747 100644 --- a/src/msgl-iconv.c +++ b/src/msgl-iconv.c @@ -1,5 +1,5 @@ /* Message list charset and locale charset handling. - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001-2002 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software; you can redistribute it and/or modify @@ -26,6 +26,7 @@ #include "msgl-iconv.h" #include +#include #include #include @@ -264,6 +265,7 @@ iconv_message_list (mlp, canon_from_code, canon_to_code) const char *canon_from_code; const char *canon_to_code; { + bool canon_from_code_overridden = (canon_from_code != NULL); size_t j; /* If the list is empty, nothing to do. */ @@ -296,18 +298,23 @@ iconv_message_list (mlp, canon_from_code, canon_to_code) canon_charset = po_charset_canonicalize (charset); if (canon_charset == NULL) - error (EXIT_FAILURE, 0, - _("\ + { + if (!canon_from_code_overridden) + error (EXIT_FAILURE, 0, + _("\ present charset \"%s\" is not a portable encoding name"), - charset); - - if (canon_from_code == NULL) - canon_from_code = canon_charset; - else if (canon_from_code != canon_charset) - error (EXIT_FAILURE, 0, - _("\ + charset); + } + else + { + if (canon_from_code == NULL) + canon_from_code = canon_charset; + else if (canon_from_code != canon_charset) + error (EXIT_FAILURE, 0, + _("\ two different charsets \"%s\" and \"%s\" in input file"), - canon_from_code, canon_charset); + canon_from_code, canon_charset); + } len1 = charsetstr - header; len2 = strlen (canon_to_code);