3125a52331/vm/graphical/devices.c
| fc349e2cf15e1e11664eb67f38cf4acd59fe042c | 3125a52331ae6d7a6bb77d0ce92a95ddc2580547 | ||
|---|---|---|---|
330 | 330 | ||
331 | /* Read a char; response indicates success/failure */ | 331 | /* Read a char; response indicates success/failure */ |
332 | if (vm.ports[4] == -2) { | 332 | if (vm.ports[4] == -2) { |
333 | int cell = TOS; DROP; | ||
334 | FILE *handle = (FILE *) TOS; DROP; | 333 | FILE *handle = (FILE *) TOS; DROP; |
335 | int c = fgetc(handle); | 334 | int c = fgetc(handle); |
336 | vm.image[cell] = c; | 335 | if ( c == EOF ) vm.ports[4] = 0; |
337 | if ( c == EOF ) vm.ports[4] = 0; | 336 | else vm.ports[4] = c; |
338 | else vm.ports[4] = -1; | ||
339 | vm.ports[0] = 1; | 337 | vm.ports[0] = 1; |
340 | } | 338 | } |
341 | 339 |
Download diff