NetBSD-Bugs archive

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

lib/48427: libedit shouldn't require ISO 10646



>Number:         48427
>Category:       lib
>Synopsis:       libedit shouldn't require ISO 10646
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 06 21:15:00 +0000 2013
>Originator:     Yuri
>Release:        current
>Organization:
n/a
>Environment:
>Description:
While porting lib/libedit to FreeBSD I noticed this lines in chartype.h:

#ifndef __STDC_ISO_10646__
/* In many places it is assumed that the first 127 code points are ASCII
 * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
 * funky encoding that could break us in weird and wonderful ways. */
        #error wchar_t must store ISO 10646 characters
#endif

You limit the character set to UCS (ISO 10646) in order to make sure that lower 
127 code points are ASCII. There are many character sets that satisfy this 
condition, and UCS is just one of them. Other practical examples are 
KOI8-U,KOI8-R for Cyrillic, ISO/IEC 8859-15, and some others for some other 
languages.

FreeBSD, for example, doesn't have __STDC_ISO_10646__ defined because the user 
can set any other character set through environment.

I am not sure what is the right solution, but requiring ISO 10646 isn't right, 
and would break compiles in general.

>How-To-Repeat:

>Fix:



Home | Main Index | Thread Index | Old Index