Test for EOF returned by stdio routines have to use the full int width.
authorkeie <none@none>
Mon, 21 Jan 1985 23:52:19 +0000 (23:52 +0000)
committerkeie <none@none>
Mon, 21 Jan 1985 23:52:19 +0000 (23:52 +0000)
lang/basic/lib/io.c

index e0df9aa..fe651bf 100644 (file)
@@ -59,6 +59,7 @@ _zone()
 _in(buf)
 char *buf;
 {
+       register int holder ;
        char *c;
        int pos;
        if( _chann == -1)
@@ -69,8 +70,9 @@ char *buf;
                stty(0,_ttydef);
        }else pos= _fdtable[_chann].pos;
        c= buf;
-       while( (*c = fgetc(_chanrd)) != EOF && *c != '\n'){
-               if( _chann == -1) putchar(*c);
+       while( (holder = fgetc(_chanrd)) != EOF && holder != '\n'){
+               *c= holder ;
+               if( _chann == -1) putchar(holder);
                c++; pos++;
        }
        *c= 0;