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

From: Jeremy Elson (
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.


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