Hello, I've committed the attached fairly obvious fix. On some platforms, CHAR is unsigned which results in the statement: int readchar(); char c; while ((c = readchar()) >= 0) being pretty useless - ``c'', an unsigned char, is always >= 0. enjoy, Andrew