This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: [PATCH] Cygwin: pty: Fix ESC[?3h and ESC[?3l handling again.
On Thu, 19 Dec 2019 15:50:07 +0000
"Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin-patches" wrote:
> Just noticed that in the patch below and couldn't help it, sorry..
>
> Things like
>
> char* p0;
>
> and later:
>
> isdigit(*p0)) or isalpha(*p0)
>
> are usually not a good (correct) way of coding, because of possible sign extension of *p0
> which you normally wouldn't want to have (remember the ctype calls/macros actually expect
> an "int", not a character, input). So it should be either "unsigned char* p0" or
> "isdigit((unsigned char)(*p0))", generally.
Thanks for the advice. In general, you are right.
However, in cygwin, ALLOW_NEGATIVE_CTYPE_INDEX is defined
in ctype library in newlib, and the lookup table is extended
in the negative direction.
So, in terms of results, the code works as expected.
--
Takashi Yano <takashi.yano@nifty.ne.jp>