Factorize file pointer check

This commit is contained in:
Colin Leroy-Mira
2024-01-30 18:11:10 +01:00
parent 1a5a7d67a7
commit 2b97735d5d
4 changed files with 32 additions and 25 deletions

View File

@@ -5,7 +5,8 @@
;
.export _fgetc
.import _read, pusha0, pushax, popptr1, incsp2, returnFFFF
.import _read, checkferror
.import pusha0, pushax, popptr1, incsp2, returnFFFF
.importzp ptr1
.include "stdio.inc"
@@ -16,16 +17,10 @@ _fgetc:
stx ptr1+1
jsr pushax ; Backup our ptr
ldy #_FILE::f_flags
lda (ptr1),y
tax
and #_FOPEN ; Check for file open
beq ret_eof
txa
and #(_FERROR|_FEOF); Check for error/eof
jsr checkferror
bne ret_eof
txa
tax
and #_FPUSHBACK ; Check for pushed back char
beq do_read