From 48f1d0ad2894a3a93cd1e647455d4bc58cb26331 Mon Sep 17 00:00:00 2001 From: cuz Date: Sat, 24 Jun 2000 09:02:08 +0000 Subject: [PATCH] Fixed errno handling git-svn-id: svn://svn.cc65.org/cc65/trunk@120 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/common/atexit.s | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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 -- 2.39.5