X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/701a0b4766abbd9f2f8dee036004d77edc59c4d8..588c80dea16b3ab32c7f1f8f15b62eb4450a20a9:/src/common/regex.cpp diff --git a/src/common/regex.cpp b/src/common/regex.cpp index 8ae727359c..1b58da4000 100644 --- a/src/common/regex.cpp +++ b/src/common/regex.cpp @@ -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" @@ -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; @@ -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; @@ -296,7 +292,7 @@ bool wxRegExImpl::Matches(const wxChar *str, int flags) const 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 @@ -316,10 +312,11 @@ bool wxRegExImpl::GetMatch(size_t *start, size_t *len, size_t index) const 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; }