Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/lib/libedit



hi, all.

i found following problems this patch:

1. don't write UTF-8 locale dependent ``cheat'' code in locale
independent libedit,
such as enc_width(), utf8_islead() and so on, completely meaningless.

our locale implementation is "CodeSet Independ" policy, wchar_t != UCS4.
please read itojun@'s paper.
http://www.usenix.org/events/usenix01/freenix01/hagino.html


2. cast wchar_t -> wint_t in the argument of isw* function.
consider sizeof(wchar_t) < sizeof(wint_t) case (for integer promotion).


3. kill evil __STDC_ISO_10646__ usage.
if you want kick some encodings not compatible with ASCII(like EBCDIC),
use __STDC_MB_MIGHT_NEQ_WC__ instead.
see http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_321.htm


4. library function must not use thread unsafe version of mb/wc conversion,
like mbtowc, wctomb and so on. use mbrtowc/wcrtomb instead.
this may broke compatibility some old apllication that uses mbtowc/wctomb.



i'm willing to fix them, but i'm busy now, not enough time to do it til April...

very truly yours.
--
Takehiko NOZAKI<takehiko.nozaki%gmail.com@localhost>


Home | Main Index | Thread Index | Old Index