From aedb0921f26090b1ed6fb3b358340007e9006f54 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Mon, 17 Jul 2023 12:57:23 +0200 Subject: [PATCH] parser: adopt changes from string Signed-off-by: Simon Rozman --- include/stdex/parser.hpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/stdex/parser.hpp b/include/stdex/parser.hpp index 468446e63..637675468 100644 --- a/include/stdex/parser.hpp +++ b/include/stdex/parser.hpp @@ -718,11 +718,11 @@ namespace stdex assert(text || start >= end); if (start < end && text[start]) { const T* set = m_set.c_str(); - const T* r = (flags & match_case_insensitive) ? - stdex::strnichr(set, text[start], m_set.size(), m_locale) : - stdex::strnchr(set, text[start], m_set.size()); - if (r && !m_invert || !r && m_invert) { - hit_offset = r ? r - set : (size_t)-1; + size_t r = (flags & match_case_insensitive) ? + stdex::strnichr(set, m_set.size(), text[start], m_locale) : + stdex::strnchr(set, m_set.size(), text[start]); + if (r != stdex::npos && !m_invert || r == stdex::npos && m_invert) { + hit_offset = r; interval.end = (interval.start = start) + 1; return true; } @@ -768,11 +768,11 @@ namespace stdex wchar_t buf[3]; const wchar_t* chr = next_sgml_cp(text, start, end, interval.end, buf); const wchar_t* set = m_set.c_str(); - const wchar_t* r = (flags & match_case_insensitive) ? - stdex::strnistr(set, chr, m_set.size(), m_locale) : - stdex::strnstr(set, chr, m_set.size()); - if (r && !m_invert || !r && m_invert) { - hit_offset = r ? r - set : (size_t)-1; + size_t r = (flags & match_case_insensitive) ? + stdex::strnistr(set, m_set.size(), chr, m_locale) : + stdex::strnstr(set, m_set.size(), chr); + if (r != stdex::npos && !m_invert || r == stdex::npos && m_invert) { + hit_offset = r; interval.start = start; return true; }