1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-09-20 04:24:48 +00:00

Merge pull request #501 from a740g/main

Make _FILES$ default to "*" if fileSpec$ is an empty string
This commit is contained in:
Samuel Gomes 2024-06-03 17:10:19 +05:30 committed by GitHub
commit 5fb06047ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 40 additions and 5 deletions

View file

@ -635,7 +635,7 @@ qbs *func__files(qbs *qbsFileSpec, int32_t passed) {
std::string fileSpec(reinterpret_cast<char *>(qbsFileSpec->chr), qbsFileSpec->len);
if (fileSpec.empty())
fileSpec = "*.*";
fileSpec = "*";
if (FS_DirectoryExists(filepath_fix_directory(fileSpec))) {
directory = fileSpec;

View file

@ -20,7 +20,7 @@ NAME "temp_dir" AS "dummy_dir"
PRINT "_DIREXISTS(dummy_dir):"; _DIREXISTS("./dummy_dir")
PRINT "Creating a temporary file inside dummy_dir"
DIM fileName AS STRING: fileName = CreateDummyFile$("./dummy_dir/")
DIM fileName AS STRING: fileName = CreateDummyFile("./dummy_dir/", ".tmp")
PRINT "_FILEEXISTS(fileName):"; _FILEEXISTS(fileName)
@ -29,9 +29,41 @@ KILL fileName
PRINT "Creating 10 dummy files inside dummy_dir"
DIM i AS LONG: FOR i = 0 TO 9
fileName = CreateDummyFile$("./dummy_dir/")
fileName = CreateDummyFile("./dummy_dir/", ".tmp")
NEXT i
' Start _FILES$ test
CHDIR "dummy_dir"
fileName = CreateDummyFile("./", "")
i = 0
DIM dirEntry AS STRING: dirEntry = _FILES$("") ' should count 13 entries
DO WHILE LEN(dirEntry) > 0
i = i + 1
dirEntry = _FILES$
LOOP
PRINT "Counted"; i; "entries."
i = 0
dirEntry = _FILES$("*.*") ' should count 12 entries
DO WHILE LEN(dirEntry) > 0
i = i + 1
dirEntry = _FILES$
LOOP
PRINT "Counted"; i; "entries."
KILL fileName
CHDIR ".."
' End _FILES$ test
PRINT "Deleting all 10 dummy files"
KILL "./dummy_dir/*.tmp"
@ -44,9 +76,10 @@ test_failed:
PRINT "Test failed!"
SYSTEM 1
FUNCTION CreateDummyFile$ (directory AS STRING)
FUNCTION CreateDummyFile$ (directory AS STRING, extension AS STRING)
DO
DIM fileName AS STRING: fileName = directory + LTRIM$(STR$(100! * (TIMER + RND))) + ".tmp"
DIM fileName AS STRING: fileName = directory + LTRIM$(STR$(100! * (TIMER + RND))) + extension
LOOP WHILE _FILEEXISTS(fileName)
DIM h AS LONG: h = FREEFILE

View file

@ -7,5 +7,7 @@ Creating a temporary file inside dummy_dir
_FILEEXISTS(fileName):-1
Deleting fileName
Creating 10 dummy files inside dummy_dir
Counted 13 entries.
Counted 12 entries.
Deleting all 10 dummy files
Deleting dummy_dir