X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..7ec698211d5d82a009ac80fb354059e9af497508:/src/common/regex.cpp diff --git a/src/common/regex.cpp b/src/common/regex.cpp index d08686ce40..1b58da4000 100644 --- a/src/common/regex.cpp +++ b/src/common/regex.cpp @@ -7,7 +7,7 @@ // RCS-ID: $Id$ // Copyright: (c) 2000 Karsten Ballüder // 2001 Vadim Zeitlin -// Licence: wxWidgets licence +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -18,10 +18,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "regex.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -61,7 +57,7 @@ public: wxRegExImpl(); ~wxRegExImpl(); - // return TRUE if Compile() had been called successfully + // return true if Compile() had been called successfully bool IsValid() const { return m_isCompiled; } // RE operations @@ -79,7 +75,7 @@ private: // init the members void Init() { - m_isCompiled = FALSE; + m_isCompiled = false; m_Matches = NULL; m_nMatches = 0; } @@ -110,7 +106,7 @@ private: regmatch_t *m_Matches; size_t m_nMatches; - // TRUE if m_RegEx is valid + // true if m_RegEx is valid bool m_isCompiled; }; @@ -199,7 +195,7 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags) // compile it #ifdef __REG_NOFRONT bool conv = true; - int errorcode = re_comp(&m_RegEx, expr, expr.length(), flagsRE); + int errorcode = wx_re_comp(&m_RegEx, expr, expr.length(), flagsRE); #else const wxWX2MBbuf conv = expr.mbc_str(); int errorcode = conv ? regcomp(&m_RegEx, conv, flagsRE) : REG_BADPAT; @@ -210,7 +206,7 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags) wxLogError(_("Invalid regular expression '%s': %s"), expr.c_str(), GetErrorMsg(errorcode, !conv).c_str()); - m_isCompiled = FALSE; + m_isCompiled = false; } else // ok { @@ -253,7 +249,7 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags) } } - m_isCompiled = TRUE; + m_isCompiled = true; } return IsValid(); @@ -261,7 +257,7 @@ bool wxRegExImpl::Compile(const wxString& expr, int flags) bool wxRegExImpl::Matches(const wxChar *str, int flags) const { - wxCHECK_MSG( IsValid(), FALSE, _T("must successfully Compile() first") ); + wxCHECK_MSG( IsValid(), false, _T("must successfully Compile() first") ); // translate our flags to regexec() ones wxASSERT_MSG( !(flags & ~(wxRE_NOTBOL | wxRE_NOTEOL)), @@ -283,7 +279,7 @@ bool wxRegExImpl::Matches(const wxChar *str, int flags) const // do match it #ifdef __REG_NOFRONT bool conv = true; - int rc = re_exec(&self->m_RegEx, str, wxStrlen(str), NULL, m_nMatches, m_Matches, flagsRE); + int rc = wx_re_exec(&self->m_RegEx, str, wxStrlen(str), NULL, m_nMatches, m_Matches, flagsRE); #else const wxWX2MBbuf conv = wxConvertWX2MB(str); int rc = conv ? regexec(&self->m_RegEx, conv, m_nMatches, m_Matches, flagsRE) : REG_BADPAT; @@ -293,35 +289,36 @@ bool wxRegExImpl::Matches(const wxChar *str, int flags) const { case 0: // matched successfully - return TRUE; + return true; default: - // an error occured + // an error occurred wxLogError(_("Failed to match '%s' in regular expression: %s"), str, GetErrorMsg(rc, !conv).c_str()); // fall through case REG_NOMATCH: // no match - return FALSE; + return false; } } bool wxRegExImpl::GetMatch(size_t *start, size_t *len, size_t index) const { - wxCHECK_MSG( IsValid(), FALSE, _T("must successfully Compile() first") ); - wxCHECK_MSG( m_nMatches, FALSE, _T("can't use with wxRE_NOSUB") ); - wxCHECK_MSG( m_Matches, FALSE, _T("must call Matches() first") ); - wxCHECK_MSG( index < m_nMatches, FALSE, _T("invalid match index") ); + wxCHECK_MSG( IsValid(), false, _T("must successfully Compile() first") ); + wxCHECK_MSG( m_nMatches, false, _T("can't use with wxRE_NOSUB") ); + wxCHECK_MSG( m_Matches, false, _T("must call Matches() first") ); + wxCHECK_MSG( index < m_nMatches, false, _T("invalid match index") ); const regmatch_t& match = m_Matches[index]; + // we need the casts because rm_so can be a 64 bit quantity if ( start ) - *start = match.rm_so; + *start = wx_truncate_cast(size_t, match.rm_so); if ( len ) - *len = match.rm_eo - match.rm_so; + *len = wx_truncate_cast(size_t, match.rm_eo - match.rm_so); - return TRUE; + return true; } size_t wxRegExImpl::GetMatchCount() const @@ -336,8 +333,8 @@ int wxRegExImpl::Replace(wxString *text, const wxString& replacement, size_t maxMatches) const { - wxCHECK_MSG( text, -1, _T("NULL text in wxRegEx::Replace") ); - wxCHECK_MSG( IsValid(), -1, _T("must successfully Compile() first") ); + wxCHECK_MSG( text, wxNOT_FOUND, _T("NULL text in wxRegEx::Replace") ); + wxCHECK_MSG( IsValid(), wxNOT_FOUND, _T("must successfully Compile() first") ); // the replacement text wxString textNew; @@ -372,7 +369,7 @@ int wxRegExImpl::Replace(wxString *text, // the replacement text anew after each match if ( mayHaveBackrefs ) { - mayHaveBackrefs = FALSE; + mayHaveBackrefs = false; textNew.clear(); textNew.reserve(replacement.length()); @@ -413,7 +410,7 @@ int wxRegExImpl::Replace(wxString *text, textNew += wxString(text->c_str() + matchStart + start, len); - mayHaveBackrefs = TRUE; + mayHaveBackrefs = true; } } else // ordinary character @@ -429,7 +426,7 @@ int wxRegExImpl::Replace(wxString *text, // we did have match as Matches() returned true above! wxFAIL_MSG( _T("internal logic error in wxRegEx::Replace") ); - return -1; + return wxNOT_FOUND; } matchStart += start; @@ -471,22 +468,22 @@ bool wxRegEx::Compile(const wxString& expr, int flags) delete m_impl; m_impl = NULL; - return FALSE; + return false; } - return TRUE; + return true; } bool wxRegEx::Matches(const wxChar *str, int flags) const { - wxCHECK_MSG( IsValid(), FALSE, _T("must successfully Compile() first") ); + wxCHECK_MSG( IsValid(), false, _T("must successfully Compile() first") ); return m_impl->Matches(str, flags); } bool wxRegEx::GetMatch(size_t *start, size_t *len, size_t index) const { - wxCHECK_MSG( IsValid(), FALSE, _T("must successfully Compile() first") ); + wxCHECK_MSG( IsValid(), false, _T("must successfully Compile() first") ); return m_impl->GetMatch(start, len, index); } @@ -511,7 +508,7 @@ int wxRegEx::Replace(wxString *pattern, const wxString& replacement, size_t maxMatches) const { - wxCHECK_MSG( IsValid(), -1, _T("must successfully Compile() first") ); + wxCHECK_MSG( IsValid(), wxNOT_FOUND, _T("must successfully Compile() first") ); return m_impl->Replace(pattern, replacement, maxMatches); }