libreoffice/old-icu.patch

50 lines
1.9 KiB
Diff

From 8e264d64093e11fbabdd13e0f86bec8b7c989796 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com>
Date: Fri, 15 Mar 2019 16:43:31 +0100
Subject: [PATCH] Use RegexMatcher.find(pos, status) call on old ICU
The RegexMatcher.find(status) is new since icu 55 and this works even
on the old releases thus revert there to the available albeit slower
call.
Change-Id: I964c10efd15515b04ac9037cda3b5b309910baf5
---
sc/source/core/tool/interpr1.cxx | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 75fd8f82b874..0281ab3f4cbf 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -9408,7 +9408,12 @@ void ScInterpreter::ScRegex()
{
// Find n-th occurrence.
sal_Int32 nCount = 0;
- while (aRegexMatcher.find( status) && U_SUCCESS(status) && ++nCount < nOccurrence)
+#if (U_ICU_VERSION_MAJOR_NUM < 55)
+ int32_t nStartPos = 0;
+ while (aRegexMatcher.find(nStartPos, status) && U_SUCCESS(status) && ++nCount < nOccurrence)
+#else
+ while (aRegexMatcher.find(status) && U_SUCCESS(status) && ++nCount < nOccurrence)
+#endif
;
if (U_FAILURE(status))
{
@@ -9448,7 +9453,12 @@ void ScInterpreter::ScRegex()
{
// Replace n-th occurrence of match with replacement.
sal_Int32 nCount = 0;
- while (aRegexMatcher.find( status) && U_SUCCESS(status))
+#if (U_ICU_VERSION_MAJOR_NUM < 55)
+ int32_t nStartPos = 0;
+ while (aRegexMatcher.find(nStartPos, status) && U_SUCCESS(status))
+#else
+ while (aRegexMatcher.find(status) && U_SUCCESS(status))
+#endif
{
// XXX NOTE: After several RegexMatcher::find() the
// RegexMatcher::appendReplacement() still starts at the
--
2.21.0