summaryrefslogtreecommitdiff
path: root/external/hunspell
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-04-15 23:38:56 +0200
committerMichael Stahl <mstahl@redhat.com>2016-04-15 23:41:44 +0200
commite63f6503fc160ed8c1b8867ac8300fa9f3e9723e (patch)
tree9885d0928ae67707e7329d9af153f0b1504cbc47 /external/hunspell
parente2e35d56abc29f86b5f77e195a06a93caa3c60b0 (diff)
hunspell: MSVC debug runtime iterators don't want to decrement past begin()
Change-Id: I258dc551d14ba72113b284be3566ba924434ab4c
Diffstat (limited to 'external/hunspell')
-rw-r--r--external/hunspell/UnpackedTarball_hunspell.mk1
-rw-r--r--external/hunspell/hunspell-iterator.patch.122
2 files changed, 23 insertions, 0 deletions
diff --git a/external/hunspell/UnpackedTarball_hunspell.mk b/external/hunspell/UnpackedTarball_hunspell.mk
index 943e78830133..3aae5798af0e 100644
--- a/external/hunspell/UnpackedTarball_hunspell.mk
+++ b/external/hunspell/UnpackedTarball_hunspell.mk
@@ -13,6 +13,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,hunspell,$(HUNSPELL_TARBALL)))
$(eval $(call gb_UnpackedTarball_add_patches,hunspell,\
external/hunspell/hunspell-solaris.patch \
+ external/hunspell/hunspell-iterator.patch.1 \
))
ifeq ($(COM),MSC)
diff --git a/external/hunspell/hunspell-iterator.patch.1 b/external/hunspell/hunspell-iterator.patch.1
new file mode 100644
index 000000000000..046d6e0063a4
--- /dev/null
+++ b/external/hunspell/hunspell-iterator.patch.1
@@ -0,0 +1,22 @@
+MSVC debug runtime iterators don't want to be decremented past begin()
+
+--- hunspell/src/hunspell/affixmgr.cxx.orig 2016-04-15 23:30:37.555875079 +0200
++++ hunspell/src/hunspell/affixmgr.cxx 2016-04-15 23:30:43.669875027 +0200
+@@ -4638,7 +4638,7 @@
+ return;
+
+ int neg = 0;
+- for (std::string::iterator k = piece.begin() + piece.size() - 1; k >= piece.begin(); --k) {
++ for (std::string::iterator k = piece.begin() + piece.size() - 1; ; --k) {
+ switch (*k) {
+ case '[': {
+ if (neg)
+@@ -4666,6 +4666,8 @@
+ *(k + 1) = *k;
+ }
+ }
++ if (k == piece.begin())
++ break;
+ }
+ }
+