parser: fix string length calculation
Signed-off-by: Simon Rozman <simon.rozman@amebis.si>
This commit is contained in:
@@ -832,7 +832,7 @@ namespace stdex
|
||||
stdex_assert(text || start >= end);
|
||||
size_t
|
||||
m = m_str.size(),
|
||||
n = std::min<size_t>(end - start, m);
|
||||
n = start < end ? std::min<size_t>(end - start, m) : 0;
|
||||
bool r = ((flags & match_case_insensitive) ?
|
||||
stdex::strnicmp(&text[start], n, m_str.data(), m, this->m_locale) :
|
||||
stdex::strncmp(&text[start], n, m_str.data(), m)) == 0;
|
||||
@@ -4527,6 +4527,7 @@ namespace stdex
|
||||
m_rparenthesis->invalidate();
|
||||
|
||||
if (m_plus_sign && m_plus_sign->match(text, this->interval.end, end, flags)) {
|
||||
stdex_assert(text || m_plus_sign->interval.start >= m_plus_sign->interval.end);
|
||||
value.append(&text[m_plus_sign->interval.start], &text[m_plus_sign->interval.end]);
|
||||
safe_value_size = value.size();
|
||||
this->interval.end = m_plus_sign->interval.end;
|
||||
|
||||
Reference in New Issue
Block a user