name, add a file mask, so the result is "$0:*" or similar. When specified like
this, the drive accepts the r/o specifier ",R" so we don't have to complicate
the code in open().
git-svn-id: svn://svn.cc65.org/cc65/trunk@5805
b7a2c559-68d2-44c3-8de9-
860c34a00d81
stx fnbuf+1
sta fnbuf+0
+; Add the file mask
+
+ lda #':'
+ sta fnbuf+2
+ lda #'*'
+ sta fnbuf+3
+ lda #4
+ sta fnlen
+
; No need to check the name. Length is already 2
lda #0 ; ok flag
; Invalid open mode
-einval: lda #EINVAL
+ lda #EINVAL
; Error entry. Sets _errno, clears _oserror, returns -1
oserror:jmp __mappederrno
-
; Read bit is set. Add an 'r' to the name
-doread: ldy fnisfile ; File or directory?
- beq isdir ; Don't add ,R for directory
- lda #'r'
+doread: lda #'r'
jsr fnaddmode ; Add the mode to the name
-isdir: lda #LFN_READ
+ lda #LFN_READ
bne common ; Branch always
; If O_TRUNC is set, scratch the file, but ignore any errors
.endproc
-
+