public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Thomas Wolff <towo@towo.net>
To: cygwin@cygwin.com
Subject: Re: iswcntrl() regression
Date: Fri, 11 Jan 2019 01:07:00 -0000	[thread overview]
Message-ID: <18c44153-0e69-80f9-81c7-544009f83b8c@towo.net> (raw)
In-Reply-To: <8758e963-7f32-a3f4-4d66-ce0d0c5f831e@towo.net>

[-- Attachment #1: Type: text/plain, Size: 2763 bytes --]

Am 06.01.2019 um 23:39 schrieb Thomas Wolff:
> Am 06.01.2019 um 21:21 schrieb Corinna Vinschen:
>> On Dec 19 21:57, Bruno Haible wrote:
>>> Hello Thomas,
>>>
>>> Oops 1: I forgot to add the reference to POSIX:
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswcntrl.html
>>>
>>> Oops 2:
>>> The relevant expression is iswcntrl (WEOF), not iswcntrl (EOF).
>>>
>>>>> Are there any other special requirements concerning EOF?
>>> WEOF is a special value. The difference between wint_t and wchar_t is
>>> essentially that WEOF fits into wint_t but is not guaranteed to fit 
>>> in wchar_t.
>>> (Like EOF fits into 'int' but usually does not fit in 'unsigned char'.)
>>>
>>> WEOF is special for all functions declared in <wctype.h>, see
>>>
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswalnum.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswalpha.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswblank.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswcntrl.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswdigit.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswgraph.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswlower.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswprint.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswpunct.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswspace.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswupper.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswxdigit.html 
>>>
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/iswctype.html
>>>
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/towlower.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/towupper.html
>>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/towctrans.html 
>>>
>>>
>>>> this could be fixed in iswcntrl_l.c as a special condition, or
>>>> injected as a special case in the categories.t table.
>>> Probably, yes.
>> Thomas, any input?  Are you going to provide patches?
> Well, yes, now I'm assuming that this is the only WEOF special case 
> and I'll look after it this week.
> Thomas
The fix should be as attached.
However, I don't seem to be able to produce a git format patch; when I 
`git format-patch -1` (after `git pull` and modifying only the affected 
file) it produces a patch file

Subject: [PATCH] Cygwin: try_to_bin: don't check recycler filename all 
the time
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
---
  winsup/cygwin/syscalls.cc | 71 +++++++++++++++++++++------------------
...

which is weird.
Thomas

[-- Attachment #2: 0001-iswcntrl-WEOF.patch --]
[-- Type: text/plain, Size: 380 bytes --]

--- newlib/libc/ctype/categories.c~	2018-08-18 09:50:16.397997100 +0200
+++ newlib/libc/ctype/categories.c	2019-01-11 01:56:39.155736700 +0100
@@ -19,7 +19,7 @@ bisearch_cat(wint_t ucs, const struct _c
   int mid;
 
   if (ucs < table[0].first || ucs > table[max].first + table[max].delta)
-    return 0;
+    return -1;
   while (max >= min)
     {
       mid = (min + max) / 2;

[-- Attachment #3: Type: text/plain, Size: 219 bytes --]


--
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

  reply	other threads:[~2019-01-11  1:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19 13:25 Bruno Haible
2018-12-19 13:29 ` Thomas Wolff
2018-12-19 13:39   ` Corinna Vinschen
2018-12-19 21:46     ` Bruno Haible
2019-01-06 20:21       ` Corinna Vinschen
2019-01-06 22:39         ` Thomas Wolff
2019-01-11  1:07           ` Thomas Wolff [this message]
2019-01-11  9:16             ` Corinna Vinschen
2019-01-12 11:39               ` Thomas Wolff
2019-01-08 22:56     ` Wong, Samuel
2019-01-09 23:46       ` Unsubscribing from Cygwin Mailing List (was: iswcntrl() regression) Brian Inglis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=18c44153-0e69-80f9-81c7-544009f83b8c@towo.net \
    --to=towo@towo.net \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).