Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

zsh-2.6beta12 bug


I think I found a small bug in zsh-2.6beta12: the shell won't correctly
process input lines with 8 bit (Latin-1) characters. Processing seems to
stop at the character with it and the rest of the line being discarded.

The cause seems to be line 130 of input.c. The line

	    return lastc = (unsigned)*inbufptr++;

near the beginning of ingetc() should read:

	    return lastc = (unsigned char)*inbufptr++;

The original line may still produce a negative value for characters which
have bit 7 set. (At least with gcc 2.7.0 on a i486 running linux, I
couldn't test it under different environments.)

Perhaps it would be even cleaner to change the declaration of inbufptr
to "unsigned char *" instead of "char *".


PS: I'm not subscribed to this maling list.

|Email:                                  | Snail-mail:  Heiko Schroeder       |
|                                        |              Lerchenweg 120        |
|  heiko@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  |              52223 Stolberg        |
|                                        |              GERMANY               |

Messages sorted by: Reverse Date, Date, Thread, Author