]> git.sur5r.net Git - cc65/commitdiff
Move more common code into rwcommon.s.
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 20 Nov 2002 18:14:35 +0000 (18:14 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 20 Nov 2002 18:14:35 +0000 (18:14 +0000)
Move declaration of __errno into errno.inc.

git-svn-id: svn://svn.cc65.org/cc65/trunk@1552 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/cbm/close.s
libsrc/cbm/open.s
libsrc/cbm/read.s
libsrc/cbm/rwcommon.s
libsrc/cbm/write.s

index cb71224f9b5b725734a3ef066ffa77b16fc3d632..989d8953ba23966c4e7add1ce700aee50a36ab76 100644 (file)
@@ -8,7 +8,7 @@
 
         .import         CLOSE
         .import         readdiskerror, closecmdchannel
-        .import         __errno, __oserror
+        .import         __oserror
         .importzp       tmp2
 
         .include        "errno.inc"
index bb6c6188c1df69cfcbf7e7972f32f8343a650e34..e27f475f23bf0c511f34947bb6c4b3c78ad06111 100644 (file)
@@ -10,7 +10,7 @@
         .import         addysp, popax
         .import         scratch, fnparse, fncomplete, fnset
         .import         opencmdchannel, closecmdchannel, readdiskerror
-        .import         __errno, __oserror
+        .import         __oserror
         .import         fnunit
         .importzp       sp, tmp2, tmp3
 
index 0183946b559ceb69a7243bd4d0004fe5fcbb0973..1e9fdbd5cb0aec643a8991d1d191afccfbffc3ef 100644 (file)
         .import         SETLFS, OPEN, CHKIN, BASIN, CLRCH, READST
         .import         rwcommon
         .import         popax
-        .import         __errno, __oserror
+        .import         __oserror
         .importzp       ptr1, ptr2, ptr3, tmp1, tmp2, tmp3
 
-        .include        "errno.inc"
         .include        "fcntl.inc"
         .include        "cbm.inc"
         .include        "filedes.inc"
@@ -42,7 +41,7 @@
 .proc   _read
 
         jsr     rwcommon        ; Pop params, check handle
-        bcs     invalidfd       ; Branch if handle not ok
+        bcs     errout          ; Invalid handle, errno already set
 
 ; Check if the LFN is valid and the file is open for writing
 
@@ -122,15 +121,6 @@ eof:    lda     ptr3
         ldx     ptr3+1
         rts
 
-; Error entry, file descriptor is invalid
-
-invalidfd:
-        lda     #EINVAL
-        sta     __errno
-        lda     #0
-        sta     __errno+1
-        beq     errout
-
 ; Error entry, file is not open
 
 notopen:
@@ -149,4 +139,3 @@ errout: lda     #$FF
 
 
 
-
index 2e124c7b0acb5d94a1f161d463848327938e1e2d..2b6a3325743362924e0fb4bde505a234a3116d9e 100644 (file)
@@ -9,6 +9,7 @@
         .import         popax
         .importzp       ptr1, ptr2, ptr3, tmp2
 
+        .include        "errno.inc"
         .include        "filedes.inc"
 
 
         sta     ptr3+1          ; Clear ptr3
 
         jsr     popax           ; Get the handle
-        sta     tmp2
         cpx     #$01
-        bcs     inv
+        bcs     invhandle
         cmp     #MAX_FDS
-inv:    rts
+        bcs     invhandle
+        sta     tmp2
+        rts                     ; Return with carry clear
+
+invhandle:
+        lda     #EINVAL
+        sta     __errno
+        lda     #0
+        sta     __errno+1
+        rts                     ; Return with carry set
 
 .endproc
 
index 64b3c580ebd432a47f2e9672ade69870eccff618..dbdc7d8d9f405595642c8c3911e215c25b9c542a 100644 (file)
@@ -9,10 +9,9 @@
 
         .import         SETLFS, OPEN, CKOUT, BSOUT, CLRCH
         .import         rwcommon
-        .import         __errno, __oserror
+        .import         __oserror
         .importzp       sp, ptr1, ptr2, ptr3
 
-        .include        "errno.inc"
         .include        "fcntl.inc"
         .include        "cbm.inc"
         .include        "filedes.inc"
@@ -46,7 +45,7 @@
 .proc   _write
 
         jsr     rwcommon        ; Pop params, check handle
-        bcs     invalidfd       ; Branch if handle not ok
+        bcs     errout          ; Invalid handle, errno already set
 
 ; Check if the LFN is valid and the file is open for writing
 
         ldx     ptr3+1
         rts
 
-; Error entry, file descriptor is invalid
-
-invalidfd:
-        lda     #EINVAL
-        sta     __errno
-        lda     #0
-        sta     __errno+1
-        beq     errout
-
 ; Error entry, file is not open
 
 notopen: