aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-05-27 14:12:10 +0100
committergingerBill <bill@gingerbill.org>2018-05-27 14:12:10 +0100
commita5763d6feec5985c7fcf5e6bee1cd0a1830be685 (patch)
tree32154163796a706c51061b782760680a38f6d9f9 /src
parent95482c554d087045b24458efb787267d606f6404 (diff)
Err on empty directory packages
Diffstat (limited to 'src')
-rw-r--r--src/common.cpp5
-rw-r--r--src/parser.cpp8
2 files changed, 8 insertions, 5 deletions
diff --git a/src/common.cpp b/src/common.cpp
index cb6d15cc1..274b86bf2 100644
--- a/src/common.cpp
+++ b/src/common.cpp
@@ -751,7 +751,7 @@ enum ReadDirectoryError {
ReadDirectory_NotExists,
ReadDirectory_Permission,
ReadDirectory_NotDir,
- ReadDirectory_EOF,
+ ReadDirectory_Empty,
ReadDirectory_Unknown,
ReadDirectory_COUNT,
@@ -858,6 +858,9 @@ ReadDirectoryError read_directory(String path, Array<FileInfo> *fi) {
} while (FindNextFileW(find_file, &file_data));
+ if (fi->count == 0) {
+ return ReadDirectory_Empty;
+ }
return ReadDirectory_None;
}
diff --git a/src/parser.cpp b/src/parser.cpp
index 355e935ec..ceb7f5c6f 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -4253,7 +4253,7 @@ ParseFileError parse_import(Parser *p, ImportedPackage imported_package) {
GB_ASSERT(import_path != list[0].fullpath);
}
- if (rd_err != ReadDirectory_EOF && rd_err != ReadDirectory_None) {
+ if (rd_err != ReadDirectory_None) {
if (pos.line != 0) {
gb_printf_err("%.*s(%td:%td) ", LIT(pos.file), pos.line, pos.column);
}
@@ -4282,9 +4282,9 @@ ParseFileError parse_import(Parser *p, ImportedPackage imported_package) {
gb_printf_err("Unknown error whilst reading path %.*s\n", LIT(import_rel_path));
return ParseFile_InvalidFile;
- case ReadDirectory_EOF:
- gb_printf_err("Unknown error whilst reading path %.*s\n", LIT(import_rel_path));
- return ParseFile_InvalidFile;
+ case ReadDirectory_Empty:
+ gb_printf_err("Empty directory: %.*s\n", LIT(import_rel_path));
+ return ParseFile_EmptyFile;
}
}