mirror of
https://github.com/cc65/cc65.git
synced 2024-12-25 02:29:52 +00:00
Removed closeallstreams
git-svn-id: svn://svn.cc65.org/cc65/trunk@1874 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
a6888c5e46
commit
91e960f391
@ -3,46 +3,12 @@
|
||||
;
|
||||
; Data for the stdio file stream.
|
||||
;
|
||||
; Be sure to keep the value priority of closeallstreams lower than that of
|
||||
; closeallfiles (which is the low level POSIX counterpart and must be
|
||||
; called after closeallstreams).
|
||||
|
||||
.export __filetab, _stdin, _stdout, _stderr
|
||||
.destructor closeallstreams, 16
|
||||
.import _close
|
||||
|
||||
.include "fcntl.inc"
|
||||
.include "_file.inc"
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; Close all files on exit
|
||||
|
||||
.proc closeallstreams
|
||||
|
||||
ldy #((FOPEN_MAX - 1) * _FILE_size)
|
||||
loop: sty index ; Save the index
|
||||
lda __filetab + _FILE_f_flags,y ; Load file flags
|
||||
and #_FOPEN ; Is it open?
|
||||
beq next ; jump if closed
|
||||
|
||||
; Close this file
|
||||
|
||||
lda __filetab + _FILE_f_fd,y
|
||||
ldx #0
|
||||
jsr _close
|
||||
|
||||
; Next file
|
||||
|
||||
next: lda index
|
||||
sec
|
||||
sbc #_FILE_size
|
||||
tay
|
||||
bcs loop
|
||||
|
||||
rts
|
||||
|
||||
.endproc
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; File data
|
||||
|
||||
@ -69,8 +35,3 @@ _stderr:
|
||||
.word __filetab + (STDERR_FILENO * _FILE_size)
|
||||
|
||||
|
||||
; Temp storage for closeallstreams
|
||||
|
||||
.bss
|
||||
index: .res 1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user