This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]