// we just use casts here because the fields of regmatch_t struct may be 64
// bit but we're limited to size_t in our public API and are not going to
// change it because operating on strings longer than 4GB using it is
- // absolutely impractical anyhow, but still check at least in debug
+ // absolutely impractical anyhow
size_t Start(size_t n) const
{
- wxASSERT_MSG( m_matches[n].rm_so < UINT_MAX, _T("regex offset overflow") );
return wx_truncate_cast(size_t, m_matches[n].rm_so);
}
size_t End(size_t n) const
{
- wxASSERT_MSG( m_matches[n].rm_eo < UINT_MAX, _T("regex offset overflow") );
return wx_truncate_cast(size_t, m_matches[n].rm_eo);
}
(void)wx_regerror(errorcode, &m_RegEx, szcmbError, len);
- szError = wxConvertMB2WX(szcmbError);
+ szError = wxConvLibc.cMB2WX(szcmbError);
delete [] szcmbError;
}
else // regerror() returned 0
return true;
}
-bool wxRegEx::Matches(const wxChar *str, int flags, size_t len) const
+bool wxRegEx::Matches(const wxString& str, int flags) const
{
wxCHECK_MSG( IsValid(), false, _T("must successfully Compile() first") );
- (void)len;
- return m_impl->Matches(WXREGEX_CHAR(str), flags WXREGEX_IF_NEED_LEN(len));
-}
-
-bool wxRegEx::Matches(const wxChar *str, int flags) const
-{
- wxCHECK_MSG( IsValid(), false, _T("must successfully Compile() first") );
-
- return m_impl->Matches(WXREGEX_CHAR(str),
- flags
- WXREGEX_IF_NEED_LEN(wxStrlen(str)));
+ return m_impl->Matches(WXREGEX_CHAR(str), flags
+ WXREGEX_IF_NEED_LEN(str.length()));
}
bool wxRegEx::GetMatch(size_t *start, size_t *len, size_t index) const