diff options
author | elfmz <fenix1905@tut.by> | 2022-11-06 18:01:27 +0300 |
---|---|---|
committer | elfmz <fenix1905@tut.by> | 2022-11-06 18:01:27 +0300 |
commit | c42eba333cf725e615cc01fbb105817aba0389c2 (patch) | |
tree | 96b067b67941d759a95ca2462d9036278739090c /far2l/src/base | |
parent | 2132a5070d45ec4b547b81182338adf68a9daeb7 (diff) |
minor/cosmetic
Diffstat (limited to 'far2l/src/base')
-rw-r--r-- | far2l/src/base/FARString.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/far2l/src/base/FARString.cpp b/far2l/src/base/FARString.cpp index cacaaabb..7dc12c82 100644 --- a/far2l/src/base/FARString.cpp +++ b/far2l/src/base/FARString.cpp @@ -302,11 +302,13 @@ FARString& FARString::Append(wchar_t Ch, size_t Count) FARString& FARString::Insert(size_t Pos, wchar_t Ch, size_t Count) { - size_t nNewLength = m_pContent->GetLength() + Count; - PrepareForModify(nNewLength); - wmemmove(m_pContent->GetData() + Count, m_pContent->GetData(), m_pContent->GetLength()); - wmemset(m_pContent->GetData(), Ch, Count); - m_pContent->SetLength(nNewLength); + if (LIKELY(Pos <= m_pContent->GetLength())) { + size_t nNewLength = m_pContent->GetLength() + Count; + PrepareForModify(nNewLength); + wmemmove(m_pContent->GetData() + Pos + Count, m_pContent->GetData() + Pos, m_pContent->GetLength() - Pos); + wmemset(m_pContent->GetData() + Pos, Ch, Count); + m_pContent->SetLength(nNewLength); + } return *this; } |