mirror of
https://github.com/cc65/cc65.git
synced 2024-12-27 00:29:31 +00:00
Allow more chars in filenames
git-svn-id: svn://svn.cc65.org/cc65/trunk@1541 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
3a95ae002b
commit
ca905a8705
@ -74,16 +74,23 @@ nameloop:
|
||||
lda (ptr1),y ; Get next char from filename
|
||||
beq namedone ; Jump if end of name reached
|
||||
|
||||
; Check for valid chars in the file name
|
||||
; Check for valid chars in the file name. We allow letters, digits, plus some
|
||||
; additional chars from a table.
|
||||
|
||||
ldx #fncharcount-1
|
||||
namecheck:
|
||||
cmp fnchars,x
|
||||
beq nameok
|
||||
dex
|
||||
bpl namecheck
|
||||
tax
|
||||
lda __ctype,x
|
||||
and #CT_ALNUM ; Letters and digits are allowed
|
||||
and #(CT_LOWER|CT_DIGIT)
|
||||
beq invalidname
|
||||
|
||||
; Check the maximum length, store the character
|
||||
|
||||
ldx fnlen
|
||||
nameok: ldx fnlen
|
||||
cpx #14 ; Maximum length reached?
|
||||
bcs invalidname
|
||||
lda (ptr1),y ; Reload char
|
||||
@ -154,5 +161,9 @@ fnlen: .res 1
|
||||
fncmd: .byte 's' ; Use as scratch command
|
||||
fnbuf: .res 20
|
||||
|
||||
.rodata
|
||||
; Characters that are ok in filenames besides digits and letters
|
||||
fnchars:.byte ".,-_+()"
|
||||
fncharcount = *-fnchars
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user