From 5e612e2700c14421244296cbf3bf3e6633b592f6 Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Sat, 22 Jun 2024 19:09:25 +0200 Subject: [PATCH] Fix string split --- openVulkanoCpp/Base/Utils.hpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/openVulkanoCpp/Base/Utils.hpp b/openVulkanoCpp/Base/Utils.hpp index 48060a5..a29ea03 100644 --- a/openVulkanoCpp/Base/Utils.hpp +++ b/openVulkanoCpp/Base/Utils.hpp @@ -143,13 +143,16 @@ namespace OpenVulkano static std::vector Split(const std::string_view& str, char separator) { std::vector subs; - size_t startPos = 0; - size_t pos = std::string::npos; + size_t startPos = 0, pos; while ((pos = str.find(separator, startPos)) != std::string::npos) { - if (startPos == pos) { startPos++; continue; } - subs.emplace_back(str.substr(startPos, pos)); - startPos = pos; + if (startPos == pos) + { + startPos++; + continue; + } + subs.emplace_back(str.substr(startPos, pos - startPos)); + startPos = pos + 1; } if (startPos != str.length() - 1) subs.emplace_back(str.substr(startPos));