summaryrefslogtreecommitdiffhomepage
path: root/loader/atlas.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-03-19 03:12:54 +0100
committerStanislaw Halik <sthalik@misaki.pl>2023-03-19 03:15:57 +0100
commit5cf5ffa302324b6a35eab2581cce57c5ea4242ea (patch)
tree93e5103386a6ce92873ff470d7c7a15bc7e550cf /loader/atlas.cpp
parent423fb053e47d32b24c914d85306daf545a4cdd3b (diff)
loader: fix prefix stripping
Diffstat (limited to 'loader/atlas.cpp')
-rw-r--r--loader/atlas.cpp10
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())