EOF is defined to be -1.
getchar() returns int, but c is a unsigned char, the value of (c = getchar()) will be 255.
This will never compare equal to -1.
Ron,
Hmmm... getchar/getc are defined as returning int in the man page and C is traditionally
defined as an int in this code..
On Fri, May 15, 2020 at 4:02 PM <ron(a)ronnatalie.com <mailto:ron@ronnatalie.com>
> wrote:
Unfortunately, if c is char on a machine with unsigned chars, or it’s of type unsigned
char, the EOF will never be detected.
* while ((c = getchar()) != EOF) if (c == '\n') { /* entire record is now there
*/