6f4087cb6b/vm/graphical/devices.c
| 43fd6a76ba79839cb7b101945b85dac8dd07f9aa | 6f4087cb6b11c592278ebb86b5b90cc298e3c857 | ||
|---|---|---|---|
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