diff options
Diffstat (limited to 'core/fxcrt/cfx_widestring.h')
-rw-r--r-- | core/fxcrt/cfx_widestring.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/fxcrt/cfx_widestring.h b/core/fxcrt/cfx_widestring.h index a6d0eca044..242138853b 100644 --- a/core/fxcrt/cfx_widestring.h +++ b/core/fxcrt/cfx_widestring.h @@ -81,6 +81,14 @@ class CFX_WideString { } bool IsEmpty() const { return !GetLength(); } + bool IsValidIndex(FX_STRSIZE index) const { + return 0 <= index && index < GetLength(); + } + + bool IsValidLength(FX_STRSIZE length) const { + return 0 <= length && length <= GetLength(); + } + const CFX_WideString& operator=(const wchar_t* str); const CFX_WideString& operator=(const CFX_WideString& stringSrc); const CFX_WideString& operator=(const CFX_WideStringC& stringSrc); @@ -103,7 +111,7 @@ class CFX_WideString { bool operator<(const CFX_WideString& str) const; CharType operator[](const FX_STRSIZE index) const { - ASSERT(index >= 0 && index < GetLength()); + ASSERT(IsValidIndex(index)); return m_pData ? m_pData->m_String[index] : 0; } |