1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#include "pattern.ih"
Pattern::Regex::Regex(string pattern, int options)
:
d_referenceCount(1)
{
PerlSetFSA().convert(pattern);
int errcode = regcomp(&d_regex, pattern.c_str(), options);
if (errcode)
{
auto_ptr<char> buffer(new char[100]);
regerror(errcode, &d_regex, buffer.get(), 100);
throw Errno(errcode, "Pattern::Pattern(") << pattern << "): " <<
buffer.get();
}
s_converted = pattern; // make the converted pattern available
// to who's interested in it.
}
|