]> git.sur5r.net Git - cc65/blobdiff - libsrc/cbm/close.s
Fixed bugs; and, improved the efficiency of some pce library functions.
[cc65] / libsrc / cbm / close.s
index 48a14e2ad651f44da882703243fe658aafe80057..7fc600e8732110a087b58eafbfdc70352741f427 100644 (file)
@@ -6,7 +6,6 @@
 
         .export         _close
 
-        .import         CLOSE
         .import         readdiskerror, closecmdchannel
         .importzp       tmp2
 
@@ -40,7 +39,7 @@
 
         lda     #LFN_CLOSED
         sta     fdtab,x
-        lda     tmp2            ; Get the handle
+        txa                     ; Get handle
         clc
         adc     #LFN_OFFS       ; Make LFN from handle
         jsr     CLOSE
         ldx     unittab,y
         jsr     closecmdchannel ; Close the disk command channel
         pla                     ; Get the error code from the disk
-        jmp     oserrcheck      ; Set _oserror and _errno, returns 0/-1
+        jmp     __mappederrno   ; Set _oserror and _errno, return 0/-1
 
 ; Error entry: The given file descriptor is not valid or not open
 
 invalidfd:
         lda     #EBADF
-
-; Error entry. Sets _errno, clears _oserror, returns -1
-
-error:  jsr     __seterrno      ; Returns 0 in A
-        sta     __oserror
-        lda     #$FF
-        tax                     ; Return -1
-        rts
+        jmp     __directerrno   ; Set _errno, clear _oserror, return -1
 
 .endproc
-
-
-
-