[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LYNX-DEV 2.8pre2: fix for new UPPER8 7bit approx. variant
From: |
Андрей Чернов |
Subject: |
Re: LYNX-DEV 2.8pre2: fix for new UPPER8 7bit approx. variant |
Date: |
Tue, 3 Mar 1998 21:01:21 +0300 |
On Tue, Mar 03, 1998 at 01:10:56PM +0300, Leonid Pauzner wrote:
> > The problem is the same as in my previous posting about TOLOWER/TOUPPER
> > problem. UPPER8(-1, 0377) will work properly after this fix.
> >
> > *** src/LYStrings.c.bak Sun Mar 1 00:00:47 1998
> > --- src/LYStrings.c Mon Mar 2 16:28:39 1998
> > ***************
> > *** 1634,1640 ****
> > {
> > /* Use exact match for speed, but mostly for stability */
> > /* while doing experiments with the remainder of this function. */
> > ! if (ch1==ch2)
> > return(0); /* Exact match */
> >
> > /* case-insensitive match for us-ascii */
> > --- 1634,1640 ----
> > {
> > /* Use exact match for speed, but mostly for stability */
> > /* while doing experiments with the remainder of this function. */
> > ! if ((unsigned char)ch1==(unsigned char)ch2)
> > return(0); /* Exact match */
> >
> > /* case-insensitive match for us-ascii */
>
> No!
> The comments for UPPER8 says:
>
> ** It was realized that case-insensitive user search
> ** got information about upper/lower mapping from TOUPPER
> ** (precisely from "(TOUPPER(a) - TOUPPER(b))==0").
And what? In my patch I touch not any upper/lower conversion but
just sign expansion char->int when '\377' is not equal to 0377 f.e.
--
Andrey A. Chernov
<address@hidden>
http://www.nagual.pp.ru/~ache/