Hi, 2011/8/15 Arnaud Lacombe <lacombar@xxxxxxxxx>: > Hi, > > [Please do not reply only to me, it's considered rude for people on > the public mailing list.] > > 2011/8/15 Serdar KÖYLÜ <s.koylux@xxxxxxxxx>: >> Dist: MDV 2010.1, but very tweaked manually.. >> >> bash-3.2$ set |grep LC >> LC_ADDRESS=tr_TR.UTF-8 >> LC_COLLATE=tr_TR.UTF-8 >> LC_CTYPE=tr_TR.UTF-8 >> LC_IDENTIFICATION=tr_TR.UTF-8 >> LC_MEASUREMENT=tr_TR.UTF-8 >> LC_MESSAGES=tr_TR.UTF-8 >> LC_MONETARY=tr_TR.UTF-8 >> LC_NAME=tr_TR.UTF-8 >> LC_NUMERIC=tr_TR.UTF-8 >> LC_PAPER=tr_TR.UTF-8 >> LC_SOURCED=1 >> LC_TELEPHONE=tr_TR.UTF-8 >> LC_TIME=tr_TR.UTF-8 >> MAILCHECK=60 >> >> > he... obvious: > > SYNOPSIS > #include <ctype.h> > > int toupper(int c); > int tolower(int c); > > BUGS > The details of what constitutes an uppercase or lowercase > letter depend on the current locale. For example, the default "C" > locale does not know about umlauts, so no conversion is done for them. > > In some non-English locales, there are lowercase letters with > no corresponding uppercase equivalent; the German sharp s is one > example. > > > Is Turkish such a corner case where the capital I has no lowercase equivalent ? > here it is: http://en.wikipedia.org/wiki/Turkish_dotted_and_dotless_I So I'd assume that English capital 'I' is treated as a dotless-i, however, its lowercase 'i' is a dotted-i. It is unclear (to me) what character set's value is meant to be returned by tolower(3). If, it's ASCII, I'd assume the Turkish lowercase-dotless-i should able to be represented and thus we ends up with the original argument being returned. - Arnaud > I guess we should reset the locale to C when generating > include/config/ files, it'd be better than re-inventing our special > case wheel. > > Thanks, > - Arnaud > >> 2011/8/16 Arnaud Lacombe <lacombar@xxxxxxxxx>: >>> Hi, >>> >>> [Added linux-kbuild@ to the CC list.] >>> >>> 2011/8/15 Serdar KÖYLÜ <s.koylux@xxxxxxxxx>: >>>> FYI. >>>> >>>> I download latest stable version and try compile it. But process >>>> terminated with an error message, such as: >>>> >>>> error config/modversions.h, file or directory not found (Message is my >>>> original language, in Turkish). >>>> >>>> I check manually this file, found it as: >>>> >>>> foo/linux-3.0.1/include/config/modversIons.h >>>> >>>> And all other "i" chars, translated into "I" chars. I run a grep, find this: >>>> >>>> [root@localhost kconfig]# grep -in tolower *.c >>>> confdata.c:730: c = tolower(c); >>>> >>>> I set env. vars such as "LC_CTYPE=C" manually, retry compile kernel, >>>> yes, it's compiled now. >>>> >>>> I don't know best solutions for this problem. A solutions can be write >>>> some warnings in related documents. An other solution, make a patch, >>>> such as: >>>> >>>> - confdata.c:730: c = tolower(c); >>>> +#define TOLOWER(x) ((x) | 0x20) >>>> +confdata.c:730: c = TOLOWER(c); >>>> >>>> or makefiles set locale to "C". I don't sure best solution. But this >>>> problem occured in turkish and can be occurred other langs. >>>> >>> What is the Turkish locale you were using originally ? >>> >>> Thanks, >>> - Arnaud >>> >>>> Thanks, best regards.. >>>> -- >>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>> Please read the FAQ at http://www.tux.org/lkml/ >>>> >>> >> > -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html