[MPlayer-dev-eng] [PATCH] fix compile with clang r150242
Ivan Kalvachev
ikalvachev at gmail.com
Mon Feb 27 22:46:57 CET 2012
On 2/27/12, Diego Biurrun <diego at biurrun.de> wrote:
> On Mon, Feb 27, 2012 at 09:58:02PM +0200, Ivan Kalvachev wrote:
>> On 2/27/12, Diego Biurrun <diego at biurrun.de> wrote:
>> > On Sat, Feb 25, 2012 at 11:48:45PM +0200, Ivan Kalvachev wrote:
>> >> On 2/25/12, Nicolas George <nicolas.george at normalesup.org> wrote:
>> >> > Le sextidi 6 ventôse, an CCXX, compn a écrit :
>> >> >> sub/sub_cc.c:68:19: error: illegal character encoding in character
>> >> >> literal
>> >> >> chartbl[0x2a] = 'á';
>> >> >
>> >> > As a matter of curiosity: what compiler and environment?
>> >> >
>> >> >> --- sub/sub_cc.c (revision 34760)
>> >> >> +++ sub/sub_cc.c (working copy)
>> >> >> @@ -65,16 +65,16 @@
>> >> >> for (i = 0; i < 128; i++)
>> >> >> chartbl[i] = (char) i;
>> >> >> /* now the special codes */
>> >> >> - chartbl[0x2a] = 'á';
>> >> >> - chartbl[0x5c] = 'é';
>> >> >> - chartbl[0x5e] = 'í';
>> >> >> - chartbl[0x5f] = 'ó';
>> >> >> - chartbl[0x60] = 'ú';
>> >> >> - chartbl[0x7b] = 'ç';
>> >> >> - chartbl[0x7c] = '÷';
>> >> >> - chartbl[0x7d] = 'Ñ';
>> >> >> - chartbl[0x7e] = 'ñ';
>> >> >> - chartbl[0x7f] = '¤'; /* FIXME: this should be a solid block */
>> >> >> + chartbl[0x2a] = 0xe1;
>> >> >> + chartbl[0x5c] = 0xe9;
>> >> >> + chartbl[0x5e] = 0xed;
>> >> >> + chartbl[0x5f] = 0xf3;
>> >> >> + chartbl[0x60] = 0xfa;
>> >> >> + chartbl[0x7b] = 0xe7;
>> >> >> + chartbl[0x7c] = 0xf7;
>> >> >> + chartbl[0x7d] = 0xd1;
>> >> >> + chartbl[0x7e] = 0xf1;
>> >> >> + chartbl[0x7f] = 0xa4; /* FIXME: this should be a solid block
>> >> >> */
>> >> >> }
>> >> >
>> >> > Assuming the original code was right and supposed to be ISO-8859-1,
>> >> > the
>> >> > change seems fine. I would like it even better with:
>> >> >
>> >> > + chartbl[0x2a] = 0xe1; /* á */
>> >> > + chartbl[0x5c] = 0xe9; /* é */
>> >> > + chartbl[0x5e] = 0xed; /* í */
>> >> > + chartbl[0x5f] = 0xf3; /* ó */
>> >> > + chartbl[0x60] = 0xfa; /* ú */
>> >> > + chartbl[0x7b] = 0xe7; /* ç */
>> >> > + chartbl[0x7c] = 0xf7; /* ÷ */
>> >> > + chartbl[0x7d] = 0xd1; /* Ñ */
>> >> > + chartbl[0x7e] = 0xf1; /* ñ */
>> >> > + chartbl[0x7f] = 0xa4; /* ¤ FIXME: this should be a solid block */
>> >> >
>> >> > The compiler should not choke on non-ASCII in comments.
>> >>
>> >> We are better without them.
>> >> They could still cause issues, when viewing/editing the file on UTF-8
>> >> locale.
>> >
>> > Just make the characters UTF-8.
>>
>> Then it would break on all single-byte codepage locales. The utf8
>> sequence would be interpreted as multiple characters, that is not
>> allowed in a literal.
>
> I'm talking about the comments.
I would really like to avoid having any non-ascii characters in source
files, unless absolutely necessary.
It also may be a little bit confusing to have utf8 encoded characters
of latin1 codes.
I won't oppose adding such comments as a second patch.
More information about the MPlayer-dev-eng
mailing list