fix thread-unsafe return of a reference to a static
The Mapping struct is small, so there's no need to reuse it. Without this, sc/qa/.../sumif_wildcards.fods sometimes fails with calc threading. Change-Id: If1f370bebe8e1afa14f8645d843a056b6f0dbdea Reviewed-on: https://gerrit.libreoffice.org/56449 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
This commit is contained in:
parent
bd1ffb2de9
commit
87ac462726
2 changed files with 5 additions and 5 deletions
|
@ -57,7 +57,7 @@ static bool cased_letter(sal_Unicode ch)
|
|||
// whenever there are more accents above.
|
||||
#define accent_above(ch) (((ch) >= 0x0300 && (ch) <= 0x0314) || ((ch) >= 0x033D && (ch) <= 0x0344) || (ch) == 0x0346 || ((ch) >= 0x034A && (ch) <= 0x034C))
|
||||
|
||||
Mapping& casefolding::getConditionalValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, Locale const & aLocale, MappingType nMappingType)
|
||||
const Mapping& casefolding::getConditionalValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, Locale const & aLocale, MappingType nMappingType)
|
||||
{
|
||||
switch(str[pos]) {
|
||||
case 0x03a3:
|
||||
|
@ -86,9 +86,9 @@ Mapping& casefolding::getConditionalValue(const sal_Unicode* str, sal_Int32 pos,
|
|||
throw RuntimeException();
|
||||
}
|
||||
|
||||
Mapping& casefolding::getValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, Locale const & aLocale, MappingType nMappingType)
|
||||
Mapping casefolding::getValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, Locale const & aLocale, MappingType nMappingType)
|
||||
{
|
||||
static Mapping dummy = { 0, 1, { 0, 0, 0 } };
|
||||
Mapping dummy = { 0, 1, { 0, 0, 0 } };
|
||||
sal_Int16 address = CaseMappingIndex[str[pos] >> 8];
|
||||
|
||||
dummy.map[0] = str[pos];
|
||||
|
|
|
@ -74,9 +74,9 @@ class I18NUTIL_DLLPUBLIC casefolding
|
|||
{
|
||||
public:
|
||||
/// @throws css::uno::RuntimeException
|
||||
static Mapping& getValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, css::lang::Locale const & aLocale, MappingType nMappingType);
|
||||
static Mapping getValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, css::lang::Locale const & aLocale, MappingType nMappingType);
|
||||
/// @throws css::uno::RuntimeException
|
||||
static Mapping& getConditionalValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, css::lang::Locale const & aLocale, MappingType nMappingType);
|
||||
static const Mapping& getConditionalValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, css::lang::Locale const & aLocale, MappingType nMappingType);
|
||||
/// @throws css::uno::RuntimeException
|
||||
static sal_Unicode getNextChar(const sal_Unicode *str, sal_Int32& idx, sal_Int32 len, MappingElement& e, css::lang::Locale const & aLocale, MappingType nMappingtype, TransliterationFlags moduleLoaded);
|
||||
|
||||
|
|
Loading…
Reference in a new issue