diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-03-19 03:12:54 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-03-19 03:15:57 +0100 |
commit | 5cf5ffa302324b6a35eab2581cce57c5ea4242ea (patch) | |
tree | 93e5103386a6ce92873ff470d7c7a15bc7e550cf /loader/atlas.cpp | |
parent | 423fb053e47d32b24c914d85306daf545a4cdd3b (diff) |
loader: fix prefix stripping
Diffstat (limited to 'loader/atlas.cpp')
-rw-r--r-- | loader/atlas.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/loader/atlas.cpp b/loader/atlas.cpp index 0a5afd7b..0f059135 100644 --- a/loader/atlas.cpp +++ b/loader/atlas.cpp @@ -47,11 +47,11 @@ std::shared_ptr<anim_atlas> loader_impl::anim_atlas(StringView name, StringView fm_soft_assert(dir && dir[dir.size()-1] == '/'); char path_buf[FILENAME_MAX]; name = Path::splitExtension(name).first(); - fm_soft_assert(dir.size() + name.size() + 1 + 1 < FILENAME_MAX); - std::memcpy(path_buf, dir.data(), dir.size()); - path_buf[dir.size()] = '/'; - std::memcpy(&path_buf[dir.size() + 1], name.data(), name.size()); - path_buf[dir.size() + 1 + name.size()] = '\0'; + const auto dirsiz = dir.size(), namesiz = name.size(); + fm_soft_assert(dirsiz + namesiz + 1 < FILENAME_MAX); + std::memcpy(path_buf, dir.data(), dirsiz); + std::memcpy(&path_buf[dirsiz], name.data(), namesiz); + path_buf[dirsiz + namesiz] = '\0'; const StringView path = path_buf; if (auto it = anim_atlas_map.find(path); it != anim_atlas_map.end()) |