From 4a09de7e0be6c006131378673f6d75af2c51c7c8 Mon Sep 17 00:00:00 2001 From: S6066 Date: Wed, 1 Aug 2018 23:12:02 +0200 Subject: [PATCH] String::FindLast/FindWord: Fix bug where index wouldn't be used (#177) * String::FindLast/FindWord: Fix bug where index wouldn't be used * Log change --- ChangeLog.md | 1 + src/Nazara/Core/String.cpp | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index ba7b3e637..149c75d44 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -127,6 +127,7 @@ Nazara Engine: - ⚠️ Fixed compilation errors on MSVC with flag /permissive- on CullingList class - Added LuaImplQueryArg & LuaImplReplyVal functions for Vector[2|3] - Fixed bug in ENet implementation causing legit reliable packets to be dropped on sequence number overflow +- Fixed bug where index wouldn't be used in String::FindLast and String::FindWord Nazara Development Kit: - Added ImageWidget (#139) diff --git a/src/Nazara/Core/String.cpp b/src/Nazara/Core/String.cpp index 9e4e2ae32..351b1c91d 100644 --- a/src/Nazara/Core/String.cpp +++ b/src/Nazara/Core/String.cpp @@ -976,7 +976,7 @@ namespace Nz if (pos >= m_sharedString->size) return npos; - char* ptr = &m_sharedString->string[m_sharedString->size-1]; + char* ptr = &m_sharedString->string[pos]; if (flags & CaseInsensitive) { @@ -1751,7 +1751,7 @@ namespace Nz return npos; ///Algo 3.FindWord#3 (Size of the pattern unknown) - const char* ptr = m_sharedString->string.get(); + const char* ptr = &m_sharedString->string[pos]; if (flags & HandleUtf8) { if (utf8::internal::is_trail(*ptr)) @@ -1931,7 +1931,7 @@ namespace Nz if (pos >= m_sharedString->size) return npos; - char* ptr = m_sharedString->string.get(); + char* ptr = &m_sharedString->string[pos]; if (flags & HandleUtf8) { ///Algo 3.FindWord#3 (Iterator too slow for #2)