; /* Find a free descriptor slot */
- .export __fdesc
- .import return0
+ .export __fdesc
+ .import return0
.include "stdio.inc"
.include "_file.inc"
.proc __fdesc
- ldy #0
+ ldy #0
lda #_FOPEN
-Loop: and __filetab + _FILE_f_flags,y ; load flags
- beq Found ; jump if closed
-.repeat ::_FILE_size
- iny
+Loop: and __filetab + _FILE::f_flags,y ; load flags
+ beq Found ; jump if closed
+.repeat .sizeof(_FILE)
+ iny
.endrepeat
- cpy #(FOPEN_MAX * _FILE_size) ; Done?
- bne Loop
+ cpy #(FOPEN_MAX * .sizeof(_FILE)) ; Done?
+ bne Loop
; File table is full
- jmp return0
+ jmp return0
; Free slot found, get address