From e39b1c963e6215a985a9a190ccce7d6133b6fe4e Mon Sep 17 00:00:00 2001 From: cuz Date: Thu, 13 Mar 2003 23:09:53 +0000 Subject: [PATCH] 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 --- libsrc/cbm/filename.s | 44 +++++++++++++++++++++---------------------- libsrc/cbm/open.s | 6 +++--- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/libsrc/cbm/filename.s b/libsrc/cbm/filename.s index ea1dfdee3..4189bdefa 100644 --- a/libsrc/cbm/filename.s +++ b/libsrc/cbm/filename.s @@ -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 - lda __filetype - sta fnbuf,x - inx - lda #',' - sta fnbuf,x - inx - pla - sta fnbuf,x - inx - stx fnlen - rts + jsr fnaddcomma ; Add a comma + lda __filetype + jsr fnadd ; Add the type + pla +fnaddmode: + pha + jsr fnaddcomma + pla -.endproc +fnadd: ldx fnlen + inc fnlen + sta fnbuf,x + rts + +fnaddcomma: + lda #',' + bne fnadd ;-------------------------------------------------------------------------- ; Data @@ -167,4 +167,4 @@ fnchars:.byte ".,-_+()" fncharcount = *-fnchars - + diff --git a/libsrc/cbm/open.s b/libsrc/cbm/open.s index 5f2d7b627..a08bb31aa 100644 --- a/libsrc/cbm/open.s +++ b/libsrc/cbm/open.s @@ -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