diff options
Diffstat (limited to 'intl/icu/source/i18n/uregexc.cpp')
-rw-r--r-- | intl/icu/source/i18n/uregexc.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/intl/icu/source/i18n/uregexc.cpp b/intl/icu/source/i18n/uregexc.cpp new file mode 100644 index 0000000000..8bdac19114 --- /dev/null +++ b/intl/icu/source/i18n/uregexc.cpp @@ -0,0 +1,42 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +/* +******************************************************************************* +* Copyright (C) 2003-2006, International Business Machines +* Corporation and others. All Rights Reserved. +******************************************************************************* +* file name: regexc.cpp +* description: The purpose of this function is to separate the codepage +* conversion from the rest of the uregex_ API. This can removes any +* dependency on codepage conversion, which reduces the overhead of +*/ + +#include "unicode/uregex.h" +#include "unicode/unistr.h" + +U_NAMESPACE_USE + +//---------------------------------------------------------------------------------------- +// +// uregex_openC +// +//---------------------------------------------------------------------------------------- +#if !UCONFIG_NO_CONVERSION && !UCONFIG_NO_REGULAR_EXPRESSIONS + +U_CAPI URegularExpression * U_EXPORT2 +uregex_openC( const char *pattern, + uint32_t flags, + UParseError *pe, + UErrorCode *status) { + if (U_FAILURE(*status)) { + return nullptr; + } + if (pattern == nullptr) { + *status = U_ILLEGAL_ARGUMENT_ERROR; + return nullptr; + } + + UnicodeString patString(pattern); + return uregex_open(patString.getBuffer(), patString.length(), flags, pe, status); +} +#endif |