]> git.sur5r.net Git - cc65/commitdiff
__seterrno is now a common function available on all platforms with slightly
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 13 May 2004 21:56:31 +0000 (21:56 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 13 May 2004 21:56:31 +0000 (21:56 +0000)
different calling conventions.

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

libsrc/atari/graphics.s
libsrc/atari/lseek.s
libsrc/atari/open.s
libsrc/atari/rwcommon.s

index e49f018423d7e0c7e1daf43c8cdb315688ca5a08..181aeed645c0ea8fde2258995a6f48072cbc7b8f 100644 (file)
@@ -11,7 +11,7 @@
        .constructor    initscrmem,28
 
        .import findfreeiocb
-       .import __seterrno,__do_oserror,__oserror
+       .import __do_oserror,__oserror
        .import fddecusage
        .import clriocb
        .import fdtoiocb
@@ -46,7 +46,6 @@ parmok:       jsr     findfreeiocb
        beq     iocbok          ; we found one
 
        lda     #<EMFILE        ; "too many open files"
-       ldx     #>EMFILE
 seterr:        jsr     __seterrno
        lda     #$FF
        tax
index 69e83da310f7992c03a5d65b49579696b176d309..ac033004c46cb5f0f37e278bb6a1f096e6cd6e42 100644 (file)
@@ -10,7 +10,7 @@
        .export         _lseek
        .import         incsp6,__oserror
        .import         __inviocb,ldax0sp,ldaxysp,fdtoiocb
-       .import         __seterrno,__dos_type
+       .import         __dos_type
        .import         fd_table
        .importzp       sreg,ptr1,ptr2,ptr3,ptr4
        .importzp       tmp1,tmp2,tmp3
 ; seeking not supported, return -1 and ENOSYS errno value
 no_supp:jsr    incsp6
        lda     #<ENOSYS
-       ldx     #>ENOSYS
-       jsr     __seterrno
-       ldx     #0
-       stx     __oserror
-       dex
-       txa
+       jsr     __seterrno      ; set __errno, return zero in A
+               sta     __oserror
+       lda     #$FF
+       tax
        sta     sreg
        sta     sreg+1
        rts
index 7d97a7dffcd60e604cb1108dd5aaf3e016e2b2d2..ea3ae543bb3213d49c4d38bb5fcacc74fac2872a 100644 (file)
@@ -16,7 +16,7 @@
        .import clriocb
        .import fddecusage,newfd
        .import findfreeiocb
-       .import __do_oserror,__seterrno,incsp4
+       .import __do_oserror,incsp4
        .import ldaxysp,addysp
        .import __oserror
        .importzp tmp4,tmp2
@@ -39,7 +39,6 @@ parmok:       jsr     findfreeiocb
        beq     iocbok          ; we found one
 
        lda     #<EMFILE        ; "too many open files"
-       ldx     #>EMFILE
 seterr:        jsr     __seterrno
        jsr     incsp4          ; clean up stack
        lda     #$FF
index 6dd7f14fc8e21dd07afc523bdec5101a16800e85..6775d99504c0dce8b2854c8731b212aa69685688 100644 (file)
@@ -1,4 +1,4 @@
-;                               
+;
 ; common iocb setup routine for read, write
 ; expects __fastcall__ parameters (int fd, void *buf, int count)
 ;
@@ -47,7 +47,7 @@ iocberr:jsr   incsp4          ; pop args
 ; this routine updates errno.  do a JMP here right after calling
 ; CIOV.         we expect status in Y.
 ;
-       .export __do_oserror,__seterrno,__inviocb
+       .export __do_oserror,__inviocb
 __do_oserror:
        sty     __oserror       ; save os dependent error code
 retminus:
@@ -55,17 +55,11 @@ retminus:
        tax                     ; return -1
        rts
 
-__seterrno:
-       sta     __errno
-       stx     __errno+1
-       rts
-
 ;
 ; sets EINVAL error code and returns -1
 ;
 
 __inviocb:
        lda     #<EINVAL
-       ldx     #>EINVAL
        jsr     __seterrno
        jmp     retminus        ; return -1