1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-19 21:32:19 +00:00

Don't add a mode when opening files for reading

git-svn-id: svn://svn.cc65.org/cc65/trunk@2014 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2003-03-13 23:09:53 +00:00
parent c8d76046cb
commit e39b1c963e
2 changed files with 25 additions and 25 deletions

View File

@ -4,7 +4,7 @@
; File name handling for CBM file I/O
;
.export fnparse, fnset, fncomplete
.export fnparse, fnset, fnaddmode, fncomplete
.export fnunit, fnlen, fncmd, fnbuf
.import SETNAM
@ -94,8 +94,7 @@ nameok: ldx fnlen
cpx #18 ; Maximum length reached?
bcs invalidname
lda (ptr1),y ; Reload char
sta fnbuf,x ; Store into buffer
inc fnlen ; Count characters
jsr fnadd ; Add character to name
iny ; Next char from name
bne nameloop ; Branch always
@ -127,27 +126,28 @@ namedone:
;--------------------------------------------------------------------------
; fncomplete: Complete a filename by adding ",t,m" where t is the file type
; and m is the access mode passed in in the A register
;
; fnaddmode: Add ",m" to a filename, where "m" is passed in A
.proc fncomplete
fncomplete:
pha ; Save mode
ldx fnlen
lda #','
sta fnbuf,x
inx
jsr fnaddcomma ; Add a comma
lda __filetype
sta fnbuf,x
inx
lda #','
sta fnbuf,x
inx
jsr fnadd ; Add the type
pla
fnaddmode:
pha
jsr fnaddcomma
pla
fnadd: ldx fnlen
inc fnlen
sta fnbuf,x
inx
stx fnlen
rts
.endproc
fnaddcomma:
lda #','
bne fnadd
;--------------------------------------------------------------------------
; Data

View File

@ -13,7 +13,7 @@
.import SETLFS, OPEN, CLOSE
.import addysp, popax
.import scratch, fnparse, fncomplete, fnset
.import scratch, fnparse, fnaddmode, fncomplete, fnset
.import opencmdchannel, closecmdchannel, readdiskerror
.import __oserror
.import fnunit
@ -109,7 +109,7 @@ notrunc:
bne append ; Branch if yes
ldx #'w'
append: txa
jsr fncomplete
jsr fncomplete ; Add type and mode to the name
; Setup the real open flags
@ -119,7 +119,7 @@ append: txa
; Read bit is set. Add an 'r' to the name
doread: lda #'r'
jsr fncomplete
jsr fnaddmode ; Add the mode to the name
lda #LFN_READ
; Common read/write code. Flags in A, handle in tmp2