// 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"
// 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;
// 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;
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
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;
}