| 2718 | } |
| 2719 | |
| 2720 | void BurpGlobals::setupIncludeData(const Firebird::string& regexp) |
| 2721 | { |
| 2722 | if (includeDataMatcher) |
| 2723 | { |
| 2724 | BURP_error(390, true); |
| 2725 | // msg 390 regular expression to include tables was already set |
| 2726 | } |
| 2727 | |
| 2728 | // Compile include relation expressions |
| 2729 | try |
| 2730 | { |
| 2731 | if (regexp.hasData()) |
| 2732 | { |
| 2733 | Firebird::string filter(regexp); |
| 2734 | if (!uSvc->utf8FileNames()) |
| 2735 | ISC_systemToUtf8(filter); |
| 2736 | |
| 2737 | BurpGlobals* tdgbl = BurpGlobals::getSpecific(); |
| 2738 | |
| 2739 | includeDataMatcher.reset(FB_NEW_POOL(tdgbl->getPool()) Firebird::SimilarToRegex( |
| 2740 | tdgbl->getPool(), Firebird::SimilarToFlag::CASE_INSENSITIVE, |
| 2741 | filter.c_str(), filter.length(), |
| 2742 | "\\", 1)); |
| 2743 | } |
| 2744 | } |
| 2745 | catch (const Firebird::Exception&) |
| 2746 | { |
| 2747 | Firebird::fatal_exception::raiseFmt( |
| 2748 | "error while compiling regular expression \"%s\"", regexp.c_str()); |
| 2749 | } |
| 2750 | } |
| 2751 | |
| 2752 | Firebird::string BurpGlobals::toSystem(const Firebird::PathName& from) |
| 2753 | { |
no test coverage detected