summaryrefslogtreecommitdiffstats
path: root/external/hunspell/0001-fix-LibreOffice-build-problem-with-basic_string-appe.patch
blob: 3c6f9831b2b463438626fe180a68bb9edb4e0a41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
From 1587ea4ab5e8d94c9c0d552f7ab61c217ebdcbeb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A1szl=C3=B3=20N=C3=A9meth?= <nemeth@numbertext.org>
Date: Fri, 30 Dec 2022 12:20:02 +0100
Subject: [PATCH] fix LibreOffice build problem with basic_string::append()

---
 src/hunspell/affentry.cxx | 6 +++---
 src/hunspell/affixmgr.cxx | 8 ++++----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/hunspell/affentry.cxx b/src/hunspell/affentry.cxx
index 46e8b58..6ee23be 100644
--- a/src/hunspell/affentry.cxx
+++ b/src/hunspell/affentry.cxx
@@ -290,7 +290,7 @@ struct hentry* PfxEntry::check_twosfx(const std::string& word,
     // back any characters that would have been stripped
 
     std::string tmpword(strip);
-    tmpword.append(word, start + appnd.size());
+    tmpword.append(word, start + appnd.size(), tmpl);
 
     // now make sure all of the conditions on characters
     // are met.  Please see the appendix at the end of
@@ -338,7 +338,7 @@ std::string PfxEntry::check_twosfx_morph(const std::string& word,
     // back any characters that would have been stripped
 
     std::string tmpword(strip);
-    tmpword.append(word, start + appnd.size());
+    tmpword.append(word, start + appnd.size(), tmpl);
 
     // now make sure all of the conditions on characters
     // are met.  Please see the appendix at the end of
@@ -386,7 +386,7 @@ std::string PfxEntry::check_morph(const std::string& word,
     // back any characters that would have been stripped
 
     std::string tmpword(strip);
-    tmpword.append(word, start + appnd.size());
+    tmpword.append(word, start + appnd.size(), tmpl);
 
     // now make sure all of the conditions on characters
     // are met.  Please see the appendix at the end of
diff --git a/src/hunspell/affixmgr.cxx b/src/hunspell/affixmgr.cxx
index 4d1ad2f..a8931c1 100644
--- a/src/hunspell/affixmgr.cxx
+++ b/src/hunspell/affixmgr.cxx
@@ -2465,7 +2465,7 @@ int AffixMgr::compound_check_morph(const std::string& word,
           result.append(presult);
           result.push_back(MSEP_FLD);
           result.append(MORPH_PART);
-          result.append(word, i);
+          result.append(word, i, word.size());
           if (complexprefixes && HENTRY_DATA(rv))
             result.append(HENTRY_DATA2(rv));
           if (!HENTRY_FIND(rv, MORPH_STEM)) {
@@ -2522,7 +2522,7 @@ int AffixMgr::compound_check_morph(const std::string& word,
           result.append(presult);
           result.push_back(MSEP_FLD);
           result.append(MORPH_PART);
-          result.append(word, i);
+          result.append(word, i, word.size());
 
           if (HENTRY_DATA(rv)) {
             if (complexprefixes)
@@ -2573,7 +2573,7 @@ int AffixMgr::compound_check_morph(const std::string& word,
             if (!m.empty()) {
               result.push_back(MSEP_FLD);
               result.append(MORPH_PART);
-              result.append(word, i);
+              result.append(word, i, word.size());
               line_uniq_app(m, MSEP_REC);
               result.append(m);
             }
@@ -2665,7 +2665,7 @@ int AffixMgr::compound_check_morph(const std::string& word,
           if (!m.empty()) {
             result.push_back(MSEP_FLD);
             result.append(MORPH_PART);
-            result.append(word, i);
+            result.append(word, i, word.size());
             line_uniq_app(m, MSEP_REC);
             result.push_back(MSEP_FLD);
             result.append(m);
-- 
2.17.1