Re: bug with asciiconv() function in db.c

From: Jeremy Elson (jelson@blaze.cs.jhu.edu)
Date: 03/04/95


> Hi everyone.  I'm new to this mailing list so I don't know
> what has been discussed so far.
> 
> I just took a look at patch 6, and I noticed that
> in the function asciiconv() in db.c, there seems to be a bug
> when comparing to uppercase flags.
> 
> I tested it when I used the jedi areas in my version of circle.
> For some reason, the flags were kinda screwed up, and since 
> jedi used upper case flags at times, I changed the flags
> to lower case and it worked.
> 
> Then after noticing that 'a' and 'A' are actually 32 apart 
> instead of 26, I changed the line of code in asciiconv() in db.c
> 
> I believe it should be..
> 
> ...	else if (isupper (*p))
> 		flags |= 1 ,, (32 + (*p - 'A');
> 
> Please correct me if I'm wrong.

It doesn't matter that 'a' and 'A' are 32 apart.  The number should be 26
as it was originally written because lowercase flags ('a' - 'z') represent
flag numbers 0 through 25.  Therefore, 'A' is 26.

What reason would you have for expecting Jedi area files would work with
Circle at all, anyway?  They use completely different flag sets.

-JE



This archive was generated by hypermail 2b30 : 12/07/00 PST