Separated _maperrno and _errno
git-svn-id: svn://svn.cc65.org/cc65/trunk@121 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
48f1d0ad28
commit
9468b05231
3 changed files with 28 additions and 21 deletions
|
@ -28,7 +28,7 @@ S_OBJS = isalpha.o isdigit.o _file.o fmisc.o strlower.o strchr.o tolower.o\
|
||||||
longjmp.o rand.o atexit.o memset.o memcpy.o memchr.o memcmp.o\
|
longjmp.o rand.o atexit.o memset.o memcpy.o memchr.o memcmp.o\
|
||||||
ltoa.o strcspn.o strncat.o strpbrk.o strspn.o abs.o labs.o jmpvec.o\
|
ltoa.o strcspn.o strncat.o strpbrk.o strspn.o abs.o labs.o jmpvec.o\
|
||||||
_fdesc.o stkcheck.o zerobss.o copydata.o _swap.o strstr.o strcoll.o\
|
_fdesc.o stkcheck.o zerobss.o copydata.o _swap.o strstr.o strcoll.o\
|
||||||
_sys.o getcpu.o _oserror.o strerror.o iscntrl.o
|
_sys.o getcpu.o _oserror.o strerror.o iscntrl.o maperrno.o
|
||||||
|
|
||||||
all: $(C_OBJS) $(S_OBJS)
|
all: $(C_OBJS) $(S_OBJS)
|
||||||
|
|
||||||
|
|
|
@ -2,29 +2,9 @@
|
||||||
; Ullrich von Bassewitz, 06.06.1998
|
; Ullrich von Bassewitz, 06.06.1998
|
||||||
;
|
;
|
||||||
; int _errno;
|
; int _errno;
|
||||||
;
|
|
||||||
; void _maperrno(void);
|
|
||||||
; /* Map an OS error to a system independent error code */
|
|
||||||
;
|
;
|
||||||
|
|
||||||
.export __maperrno
|
|
||||||
.export __errno
|
.export __errno
|
||||||
.import __oserror
|
|
||||||
.import __osmaperrno
|
|
||||||
|
|
||||||
|
|
||||||
.code
|
|
||||||
|
|
||||||
__maperrno:
|
|
||||||
lda __oserror ; Get the error code
|
|
||||||
beq @L1 ; Jump if no error
|
|
||||||
ldx #$00 ; Clear error
|
|
||||||
stx __oserror
|
|
||||||
jsr __osmaperrno ; Map the code
|
|
||||||
sta __errno
|
|
||||||
stx __errno+1
|
|
||||||
@L1: rts
|
|
||||||
|
|
||||||
|
|
||||||
.bss
|
.bss
|
||||||
|
|
||||||
|
|
27
libsrc/common/maperrno.s
Normal file
27
libsrc/common/maperrno.s
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
;
|
||||||
|
; Ullrich von Bassewitz, 24.06.2000
|
||||||
|
;
|
||||||
|
; void _maperrno(void);
|
||||||
|
; /* Map an OS error to a system independent error code */
|
||||||
|
;
|
||||||
|
|
||||||
|
.export __maperrno
|
||||||
|
.import __errno
|
||||||
|
.import __oserror
|
||||||
|
.import __osmaperrno
|
||||||
|
|
||||||
|
|
||||||
|
.code
|
||||||
|
|
||||||
|
__maperrno:
|
||||||
|
lda __oserror ; Get the error code
|
||||||
|
beq @L1 ; Jump if no error
|
||||||
|
ldx #$00 ; Clear error
|
||||||
|
stx __oserror
|
||||||
|
jsr __osmaperrno ; Map the code
|
||||||
|
sta __errno
|
||||||
|
stx __errno+1
|
||||||
|
@L1: rts
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue