1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-28 19:29:53 +00:00

Moved reusable parts of remove into oserrcheck.

Rewrote remove().
Added rename().


git-svn-id: svn://svn.cc65.org/cc65/trunk@2272 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2003-08-12 13:06:43 +00:00
parent fada6651c9
commit b7d7e6bb04
4 changed files with 65 additions and 25 deletions

View File

@ -109,9 +109,11 @@ S_OBJS = _fdesc.o \
memset.o \
modfree.o \
modload.o \
oserrcheck.o \
printf.o \
rand.o \
raise.o \
rename.o \
setjmp.o \
signal.o \
sigtable.o \

View File

@ -0,0 +1,35 @@
;
; Ullrich von Bassewitz, 2003-08-12
;
; Helper function for several high level file functions.
;
; The function will store the value in A into _oserror. If the value is not
; zero, it is translated into a standard error number which is then stored
; into errno, and -1 is returned in a/x. If the value in A was zero, errno
; is not changed, and zero is returned in a/x.
;
.export oserrcheck
.import __oserror
.import __osmaperrno
.import __errno
.proc oserrcheck
sta __oserror ; Store the error code
tay ; Did we have an error?
beq ok ; Branch if no
jsr __osmaperrno ; Map os error into errno code
sta __errno
stx __errno+1 ; Save in errno
lda #$FF ; Return -1
; Error free, A contains zero
ok: tax ; Make high byte also zero
rts
.endproc

View File

@ -1,5 +1,5 @@
;
; Ullrich von Bassewitz, 16.11.2002
; Ullrich von Bassewitz, 2003-08-12
;
; int __fastcall__ remove (const char* name);
;
@ -7,36 +7,15 @@
.export _remove
.import __sysremove
.import __osmaperrno
.import __errno
.import oserrcheck
;--------------------------------------------------------------------------
; remove
.proc _remove
; Go ahead and call the machine dependent function
jsr __sysremove
; Check for errors
cmp #$00
bne ok
jsr __osmaperrno
sta __errno
stx __errno+1
lda #$FF
tax
rts
; Error free
ok: lda #$00
tax
rts
jsr __sysremove ; Call the machine specific function
jmp oserrcheck ; Store into _oserror, set errno, return 0/-1
.endproc

24
libsrc/common/rename.s Normal file
View File

@ -0,0 +1,24 @@
;
; Ullrich von Bassewitz, 2003-08-12
;
; int __fastcall__ rename (const char* oldname, const char* newname);
;
.export _rename
.import __sysrename
.import oserrcheck
;--------------------------------------------------------------------------
.proc _rename
jsr __sysrename ; Call the machine specific function
jmp oserrcheck ; Store into _oserror, set errno, return 0/-1
.endproc