]> git.sur5r.net Git - cc65/blob - libsrc/apple2/close.s
Fixed gcc compiler warning (#867)
[cc65] / libsrc / apple2 / close.s
1 ;
2 ; Oliver Schmidt, 30.12.2004
3 ;
4 ; int __fastcall__ close (int fd);
5 ;
6
7         .export         _close
8
9         .import         closedirect, freebuffer
10
11         .include        "errno.inc"
12         .include        "filedes.inc"
13
14 _close:
15         ; Process fd
16         jsr     getfd           ; Returns A, Y and C
17         bcs     errno
18
19         ; Check for device
20         bmi     zerofd
21
22         ; Close file
23         jsr     closedirect     ; Preserves Y
24         bcs     oserr
25
26         ; Mark fdtab slot as free
27 zerofd: lda     #$00
28         sta     fdtab + FD::REF_NUM,y
29
30         ; Cleanup I/O buffer
31         jsr     freebuffer
32
33         ; Return success
34         lda     #$00
35
36         ; Set __oserror
37 oserr:  jmp     __mappederrno
38
39         ; Set __errno
40 errno:  jmp     __directerrno