bool Regexp::compile(vespalib::stringref re, Flags flags) { re_set_syntax(flags.flags()); regex_t *preg = (regex_t *)_data; preg->translate = NULL; preg->fastmap = static_cast<char *>(malloc(256)); preg->buffer = NULL; preg->allocated = 0; const char * error = re_compile_pattern(re.data(), re.size(), preg); if (error != 0) { LOG(warning, "invalid regexp '%s': %s", vespalib::string(re).c_str(), error); return false; } if (re_compile_fastmap(preg) != 0) { LOG(warning, "re_compile_fastmap failed for regexp '%s'", vespalib::string(re).c_str()); return false; } return true; }