summaryrefslogtreecommitdiffhomepage
path: root/loader
diff options
context:
space:
mode:
Diffstat (limited to 'loader')
-rw-r--r--loader/atlas.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/loader/atlas.cpp b/loader/atlas.cpp
index acc1d069..e811e61e 100644
--- a/loader/atlas.cpp
+++ b/loader/atlas.cpp
@@ -28,7 +28,9 @@ StringView loader_::make_atlas_path(char(&buf)[FILENAME_MAX], StringView dir, St
bool loader_::check_atlas_name(StringView str) noexcept
{
- if (!str || str[0] == '.' || str[0] == '/')
+ constexpr auto first_char =
+ "_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"_s;
+ if (!str || !first_char.find(str[0]))
return false;
if (str.findAny("\\\"'\n\r\t\a\033\0|$!%{}#^*?<>&;:^"_s) || str.find("/."_s))
return false;