| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:subject:to:references:from:cc:message-id:date | |
| :mime-version:in-reply-to:content-type | |
| :content-transfer-encoding; q=dns; s=default; b=PEm0Po/RCr3V4nXe | |
| 8bz2UXhqyAqvkRfYNOb4d8o477kUXU5/Yea8w9Lf7AxKy2CLLW9V2t1BQzI69ml9 | |
| 30kQuC2aSCNGRBdN+n05lRmI/e+I/VsuaBOACDGHRQauQ+9rmUg7GoYl0m3x74x+ | |
| AmqmFe3Ftc8dUEQpQeVzdh3p+fY= | |
| DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:subject:to:references:from:cc:message-id:date | |
| :mime-version:in-reply-to:content-type | |
| :content-transfer-encoding; s=default; bh=fIpI84rWo8wz04E8mrkh7i | |
| LrKsY=; b=O5s4dAWdd6QrD46XYIpvIUNApzrMGP+nL6JbsdPeJau3cULXR9n5PM | |
| WPNIgou63ir94WUUx4JpAyhjdx3Lx084mrFpusIDGsgBhNwR0tn8RkqtA+7KtLAU | |
| P+Pnk6vitZ4QPWJ+sGiOSeZdcNCBt499kvoANHI9uHebC2e6iDt90= | |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| Authentication-Results: | sourceware.org; auth=none |
| X-Virus-Found: | No |
| X-Spam-SWARE-Status: | No, score=-2.3 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=Cygwins, Cygwin's, letter, HContent-Transfer-Encoding:8bit |
| X-HELO: | mailout09.t-online.de |
| Subject: | Re: Invalid tm_zone from localtime() when TZ is not set |
| To: | KOBAYASHI Shinji <koba AT jp DOT fujitsu DOT com> |
| References: | <o8xeg8x7e2r DOT wl-koba AT jp DOT fujitsu DOT com> <932D033F-9DA4-4901-9158-328AA929FEC8 AT etr-usa DOT com> <o8x8tz573zs DOT wl-koba AT jp DOT fujitsu DOT com> <CAEhDDbA-ATpAtVggR7cfqn58AHw0sPK_Y3mNSJ8UO29sg2ZpuA AT mail DOT gmail DOT com> <o8x37pd6nlm DOT wl-koba AT jp DOT fujitsu DOT com> <o8xposa6fcl DOT wl-koba AT jp DOT fujitsu DOT com> <20160525084430 DOT GA17601 AT calimero DOT vinschen DOT de> <2eddaaf6-4e37-cd9b-aa9d-8a87234d0cf9 AT t-online DOT de> <o8xh9dltilz DOT wl-koba AT jp DOT fujitsu DOT com> |
| From: | =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker?= <HBBroeker AT t-online DOT de> |
| Cc: | cygwin AT cygwin DOT com |
| Message-ID: | <292874c9-8b43-9693-8c1f-c4d107af4a9c@t-online.de> |
| Date: | Thu, 26 May 2016 14:16:25 +0200 |
| User-Agent: | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 |
| MIME-Version: | 1.0 |
| In-Reply-To: | <o8xh9dltilz.wl-koba@jp.fujitsu.com> |
| X-IsSubscribed: | yes |
Am 26.05.2016 um 08:54 schrieb KOBAYASHI Shinji:
> On Wed, 25 May 2016 22:02:50 +0200, Hans-Bernhard Bröker wrote:
>> On May 25 11:28, KOBAYASHI Shinji wrote:
> - isupper is a macro which classifies ASCII integer values by table
> lookup.
> - It is defined only when isascii(c) is true or c is EOF.
That restriction is artificial, at best. I might go so far as to say
it's a direct standard violation since, according to the C Standard, the
<ctype.h> macros/functions are defined for the entire range of unsigned
char, not just ASCII's 0 ... 127.
It's also untrue. Once you set the locale and the console character set
accordingly, Cygwin's isupper() does work for characters outside the
7-bit ASCII range, too:
$ ./tisupper.exe a A b B ö Ö ß
a: isupper=0
A: isupper=1
b: isupper=0
B: isupper=1
ö: isupper=0
Ö: isupper=1
ß: isupper=0
This is with a ISO-Latin-15 mintty, and LANG set to de_DE (note: no
UTF-8), running this program:
#include <stdio.h>
#include <ctype.h>
#include <locale.h>
int main(int argc, char **argv)
{
int i = 0;
setlocale(LC_ALL, "");
for (i = 1; i < argc; i++) {
printf("%c: isupper=%d\n",
argv[i][0],
isupper((unsigned char)argv[i][0])
);
}
return 0;
}
> On Wed, 25 May 2016 10:44:30 +0200, Corinna Vinschen wrote:
>> However, testing this with GLibc it turns out that GLibc's towlower does not
>> transform the character but returns 0xff21. Can anybody explain to me why?
>
> It seems that it depends on locale. The man page (on Linux) says:
>
> The behavior of towlower() depends on the LC_CTYPE category of the
> current locale.
So does the implementation in Cygwin. The result of my little test is
influenced by locale. E.g. in Russian locale, Ö is no longer classified
an upper-case letter.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |