From: cuz Date: Sat, 24 Jun 2000 09:02:08 +0000 (+0000) Subject: Fixed errno handling X-Git-Tag: V2.12.0~3393 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=48f1d0ad2894a3a93cd1e647455d4bc58cb26331;p=cc65 Fixed errno handling git-svn-id: svn://svn.cc65.org/cc65/trunk@120 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/libsrc/common/atexit.s b/libsrc/common/atexit.s index 5d94d36fe..1751b8063 100644 --- a/libsrc/common/atexit.s +++ b/libsrc/common/atexit.s @@ -9,6 +9,8 @@ .export _atexit, doatexit .import __errno, jmpvec + .include "errno.inc" + .bss ecount: .byte 0 ; Really an index, inc'ed by 2 efunc: .word 0,0,0,0,0 ; 5 exit functions @@ -39,17 +41,19 @@ _atexit: ; Error, no space left -E0: lda #$FF - sta __errno ; Use -1 until codes are defined ### - sta __errno+1 - tax +E0: lda #ENOSPC ; No space left + sta __errno + ldx #$00 + stx __errno+1 + dex + txa rts ; Function called from exit doatexit: - ldy ecount ; get index - beq L9 ; jump if done + ldy ecount ; get index + beq L9 ; jump if done dey lda efunc,y sta jmpvec+2