diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2013-10-17 19:58:07 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2013-10-18 06:57:57 +0000 |
commit | 64b6499371fa22d52648523e65a28c041dd6579f (patch) | |
tree | d07fb933a66a0d0c0b01d163c0c6e65e687f1981 /hunspell | |
parent | 89b7435b9a98c93253638becafe5ff28efcfac4b (diff) |
fdo#70393: move hunspell to a subdir of external
Change-Id: Id3aafd95cb8c064f84898844a91f350e9aad0ed4
Reviewed-on: https://gerrit.libreoffice.org/6307
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'hunspell')
-rw-r--r-- | hunspell/ExternalProject_hunspell.mk | 27 | ||||
-rw-r--r-- | hunspell/Makefile | 7 | ||||
-rw-r--r-- | hunspell/Module_hunspell.mk | 27 | ||||
-rw-r--r-- | hunspell/README | 4 | ||||
-rw-r--r-- | hunspell/StaticLibrary_hunspell.mk | 37 | ||||
-rw-r--r-- | hunspell/UnpackedTarball_hunspell.mk | 32 | ||||
-rw-r--r-- | hunspell/hunspell-1.3.2-compound.patch | 11 | ||||
-rw-r--r-- | hunspell/hunspell-1.3.2-literal.patch | 11 | ||||
-rw-r--r-- | hunspell/hunspell-1.3.2-nullptr.patch | 20 | ||||
-rw-r--r-- | hunspell/hunspell-1.3.2-overflow.patch | 91 | ||||
-rw-r--r-- | hunspell/hunspell-android.patch | 42 | ||||
-rw-r--r-- | hunspell/hunspell-solaris.patch | 12 | ||||
-rw-r--r-- | hunspell/hunspell-twoaffixcompound.patch | 80 | ||||
-rw-r--r-- | hunspell/hunspell-wundef.patch.1 | 11 | ||||
-rw-r--r-- | hunspell/hunspell.rhbz918938.patch | 72 |
15 files changed, 0 insertions, 484 deletions
diff --git a/hunspell/ExternalProject_hunspell.mk b/hunspell/ExternalProject_hunspell.mk deleted file mode 100644 index 6bbb6183cf01..000000000000 --- a/hunspell/ExternalProject_hunspell.mk +++ /dev/null @@ -1,27 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_ExternalProject_ExternalProject,hunspell)) - -$(eval $(call gb_ExternalProject_register_targets,hunspell,\ - build \ -)) - -$(call gb_ExternalProject_get_state_target,hunspell,build): - $(call gb_ExternalProject_run,build,\ - LIBS="$(gb_STDLIBS) $(LIBS)" \ - ./configure --disable-shared --disable-nls --with-pic \ - $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM))\ - $(if $(filter AIX,$(OS)),CFLAGS="-D_LINUX_SOURCE_COMPAT") \ - $(if $(filter C53,$(COM)),CFLAGS="-xc99=none") \ - $(if $(filter-out WNTGCC,$(OS)$(COM)),,LDFLAGS="-Wl,--enable-runtime-pseudo-reloc-v2") \ - && $(MAKE) \ - ) - -# vim: set noet sw=4 ts=4: diff --git a/hunspell/Makefile b/hunspell/Makefile deleted file mode 100644 index ccb1c85a04da..000000000000 --- a/hunspell/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- - -module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) - -include $(module_directory)/../solenv/gbuild/partial_build.mk - -# vim: set noet sw=4 ts=4: diff --git a/hunspell/Module_hunspell.mk b/hunspell/Module_hunspell.mk deleted file mode 100644 index 6acd732ae701..000000000000 --- a/hunspell/Module_hunspell.mk +++ /dev/null @@ -1,27 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_Module_Module,hunspell)) - -ifeq ($(SYSTEM_HUNSPELL),NO) -$(eval $(call gb_Module_add_targets,hunspell,\ - UnpackedTarball_hunspell \ -)) -ifeq ($(COM),MSC) -$(eval $(call gb_Module_add_targets,hunspell,\ - StaticLibrary_hunspell \ -)) -else -$(eval $(call gb_Module_add_targets,hunspell,\ - ExternalProject_hunspell \ -)) -endif -endif - -# vim: set noet sw=4 ts=4: diff --git a/hunspell/README b/hunspell/README deleted file mode 100644 index 1221735cad65..000000000000 --- a/hunspell/README +++ /dev/null @@ -1,4 +0,0 @@ -Library for spell checking. - -From: -[http://hunspell.sourceforge.net/]. diff --git a/hunspell/StaticLibrary_hunspell.mk b/hunspell/StaticLibrary_hunspell.mk deleted file mode 100644 index 29fe6249d37f..000000000000 --- a/hunspell/StaticLibrary_hunspell.mk +++ /dev/null @@ -1,37 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_StaticLibrary_StaticLibrary,hunspell)) - -$(eval $(call gb_StaticLibrary_use_unpacked,hunspell,hunspell)) - -$(eval $(call gb_StaticLibrary_use_external,hunspell,icu_headers)) - -$(eval $(call gb_StaticLibrary_set_warnings_not_errors,hunspell)) - -$(eval $(call gb_StaticLibrary_add_defs,hunspell,\ - -DHUNSPELL_STATIC \ - -DOPENOFFICEORG \ -)) - -$(eval $(call gb_StaticLibrary_add_generated_cxxobjects,hunspell,\ - UnpackedTarball/hunspell/src/hunspell/affentry \ - UnpackedTarball/hunspell/src/hunspell/affixmgr \ - UnpackedTarball/hunspell/src/hunspell/dictmgr \ - UnpackedTarball/hunspell/src/hunspell/csutil \ - UnpackedTarball/hunspell/src/hunspell/hashmgr \ - UnpackedTarball/hunspell/src/hunspell/suggestmgr \ - UnpackedTarball/hunspell/src/hunspell/phonet \ - UnpackedTarball/hunspell/src/hunspell/hunzip \ - UnpackedTarball/hunspell/src/hunspell/filemgr \ - UnpackedTarball/hunspell/src/hunspell/replist \ - UnpackedTarball/hunspell/src/hunspell/hunspell \ -)) - -# vim: set noet sw=4 ts=4: diff --git a/hunspell/UnpackedTarball_hunspell.mk b/hunspell/UnpackedTarball_hunspell.mk deleted file mode 100644 index 2c532ea7fb25..000000000000 --- a/hunspell/UnpackedTarball_hunspell.mk +++ /dev/null @@ -1,32 +0,0 @@ - -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_UnpackedTarball_UnpackedTarball,hunspell)) - -$(eval $(call gb_UnpackedTarball_set_tarball,hunspell,$(HUNSPELL_TARBALL))) - -$(eval $(call gb_UnpackedTarball_add_patches,hunspell,\ - hunspell/hunspell-twoaffixcompound.patch \ - hunspell/hunspell-solaris.patch \ - hunspell/hunspell-1.3.2-overflow.patch \ - hunspell/hunspell-android.patch \ - hunspell/hunspell-1.3.2-nullptr.patch \ - hunspell/hunspell-1.3.2-literal.patch \ - hunspell/hunspell-1.3.2-compound.patch \ - hunspell/hunspell.rhbz918938.patch \ - hunspell/hunspell-wundef.patch.1 \ -)) - -ifeq ($(COM),MSC) -$(eval $(call gb_UnpackedTarball_set_post_action,hunspell,\ - touch src/hunspell/config.h \ -)) -endif - -# vim: set noet sw=4 ts=4: diff --git a/hunspell/hunspell-1.3.2-compound.patch b/hunspell/hunspell-1.3.2-compound.patch deleted file mode 100644 index 3629add70ca5..000000000000 --- a/hunspell/hunspell-1.3.2-compound.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- misc/hunspell-1.3.2/src/hunspell/affixmgr.cxx 2010-02-27 12:59:53.000000000 +0100 -+++ misc/build/hunspell-1.3.2/src/hunspell/affixmgr.cxx 2012-09-18 11:50:04.535803282 +0200 -@@ -2125,7 +2125,7 @@ - } - - if (!rv) { -- if (onlycpdrule) break; -+ if (onlycpdrule && strlen(*result) > MAXLNLEN/10) break; - if (compoundflag && - !(rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundflag))) { - if (((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, diff --git a/hunspell/hunspell-1.3.2-literal.patch b/hunspell/hunspell-1.3.2-literal.patch deleted file mode 100644 index 4cbf377c1442..000000000000 --- a/hunspell/hunspell-1.3.2-literal.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- misc/hunspell-1.3.2/src/tools/hunspell.cxx 2012-08-13 12:09:06.107017665 +0200 -+++ misc/build/hunspell-1.3.2/src/tools/hunspell.cxx 2012-08-13 12:14:12.233500532 +0200 -@@ -20,7 +20,7 @@ - #define HUNSPELL_VERSION VERSION - #define INPUTLEN 50 - --#define HUNSPELL_PIPE_HEADING "@(#) International Ispell Version 3.2.06 (but really Hunspell "VERSION")\n" -+#define HUNSPELL_PIPE_HEADING "@(#) International Ispell Version 3.2.06 (but really Hunspell " VERSION ")\n" - #define HUNSPELL_HEADING "Hunspell " - - //for debugging only diff --git a/hunspell/hunspell-1.3.2-nullptr.patch b/hunspell/hunspell-1.3.2-nullptr.patch deleted file mode 100644 index 624e6ce6e6c5..000000000000 --- a/hunspell/hunspell-1.3.2-nullptr.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- misc/hunspell-1.3.2/src/hunspell/affentry.hxx 2010-04-15 13:22:08.000000000 +0200 -+++ misc/build/hunspell-1.3.2/src/hunspell/affentry.hxx 2012-08-13 12:08:48.568996730 +0200 -@@ -27,7 +27,7 @@ - struct hentry * checkword(const char * word, int len, char in_compound, - const FLAG needflag = FLAG_NULL); - -- struct hentry * check_twosfx(const char * word, int len, char in_compound, const FLAG needflag = NULL); -+ struct hentry * check_twosfx(const char * word, int len, char in_compound, const FLAG needflag = FLAG_NULL); - - char * check_morph(const char * word, int len, char in_compound, - const FLAG needflag = FLAG_NULL); -@@ -90,7 +90,7 @@ - // const FLAG cclass = FLAG_NULL, const FLAG needflag = FLAG_NULL, char in_compound=IN_CPD_NOT); - const FLAG cclass = FLAG_NULL, const FLAG needflag = FLAG_NULL, const FLAG badflag = 0); - -- struct hentry * check_twosfx(const char * word, int len, int optflags, PfxEntry* ppfx, const FLAG needflag = NULL); -+ struct hentry * check_twosfx(const char * word, int len, int optflags, PfxEntry* ppfx, const FLAG needflag = FLAG_NULL); - - char * check_twosfx_morph(const char * word, int len, int optflags, - PfxEntry* ppfx, const FLAG needflag = FLAG_NULL); diff --git a/hunspell/hunspell-1.3.2-overflow.patch b/hunspell/hunspell-1.3.2-overflow.patch deleted file mode 100644 index 8500b483d53f..000000000000 --- a/hunspell/hunspell-1.3.2-overflow.patch +++ /dev/null @@ -1,91 +0,0 @@ ---- misc/hunspell-1.3.2/src/hunspell/affixmgr.cxx 2010-02-27 12:59:53.000000000 +0100 -+++ misc/build/hunspell-1.3.2/src/hunspell/affixmgr.cxx 2011-05-18 16:29:45.919141893 +0200 -@@ -6,6 +6,8 @@ - #include <stdio.h> - #include <ctype.h> - -+#include <limits> -+ - #include <vector> - - #include "affixmgr.hxx" -@@ -4000,7 +4002,10 @@ - case 3: { - np++; - numents = atoi(piece); -- if (numents == 0) { -+ if ((numents <= 0) || -+ ((::std::numeric_limits<size_t>::max() -+ / sizeof(struct affentry)) < numents)) -+ { - char * err = pHMgr->encode_flag(aflag); - if (err) { - HUNSPELL_WARNING(stderr, "error: line %d: bad entry number\n", ---- misc/hunspell-1.3.2/src/tools/munch.c 2010-02-27 21:49:49.000000000 +0100 -+++ misc/build/hunspell-1.3.2/src/tools/munch.c 2011-05-18 15:53:53.427072106 +0200 -@@ -4,6 +4,7 @@ - #include <string.h> - #include <unistd.h> - #include <stdlib.h> -+#include <stdint.h> - #include <stdio.h> - #include <sys/types.h> - #include <sys/stat.h> -@@ -233,10 +233,19 @@ - case 1: { achar = *piece; break; } - case 2: { if (*piece == 'Y') ff = XPRODUCT; break; } - case 3: { numents = atoi(piece); -- ptr = malloc(numents * sizeof(struct affent)); -- ptr->achar = achar; -- ptr->xpflg = ff; -- fprintf(stderr,"parsing %c entries %d\n",achar,numents); -+ if ((numents < 0) || -+ ((SIZE_MAX/sizeof(struct affent)) < numents)) -+ { -+ fprintf(stderr, -+ "Error: too many entries: %d\n", numents); -+ numents = 0; -+ } else { -+ ptr = malloc(numents * sizeof(struct affent)); -+ ptr->achar = achar; -+ ptr->xpflg = ff; -+ fprintf(stderr,"parsing %c entries %d\n", -+ achar,numents); -+ } - break; - } - default: break; ---- misc/hunspell-1.3.2/src/tools/unmunch.c 2010-02-23 15:53:29.000000000 +0100 -+++ misc/build/hunspell-1.3.2/src/tools/unmunch.c 2011-05-18 20:53:43.843599726 +0200 -@@ -6,6 +6,7 @@ - #include <string.h> - #include <unistd.h> - #include <stdlib.h> -+#include <stdint.h> - #include <stdio.h> - #include <sys/types.h> - #include <sys/stat.h> -@@ -158,10 +159,19 @@ - case 1: { achar = *piece; break; } - case 2: { if (*piece == 'Y') ff = XPRODUCT; break; } - case 3: { numents = atoi(piece); -- ptr = malloc(numents * sizeof(struct affent)); -- ptr->achar = achar; -- ptr->xpflg = ff; -- fprintf(stderr,"parsing %c entries %d\n",achar,numents); -+ if ((numents < 0) || -+ ((SIZE_MAX/sizeof(struct affent)) < numents)) -+ { -+ fprintf(stderr, -+ "Error: too many entries: %d\n", numents); -+ numents = 0; -+ } else { -+ ptr = malloc(numents * sizeof(struct affent)); -+ ptr->achar = achar; -+ ptr->xpflg = ff; -+ fprintf(stderr,"parsing %c entries %d\n", -+ achar,numents); -+ } - break; - } - default: break; diff --git a/hunspell/hunspell-android.patch b/hunspell/hunspell-android.patch deleted file mode 100644 index 1bfbb4beb0f9..000000000000 --- a/hunspell/hunspell-android.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- misc/hunspell-1.3.2/config.sub 2010-02-23 10:08:48.000000000 +0100 -+++ misc/build/hunspell-1.3.2/config.sub 2011-09-26 23:31:02.000000000 +0200 -@@ -118,7 +118,7 @@ - # Here we must recognize all the valid KERNEL-OS combinations. - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in -- nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ -+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` -@@ -1161,7 +1161,7 @@ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -- | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ -+ | -mingw32* | -linux-gnu* | -linux-androideabi* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ ---- misc/hunspell-1.3.2/src/tools/munch.c -+++ misc/build/hunspell-1.3.2/src/tools/munch.c -@@ -8,7 +8,7 @@ - #include <sys/types.h> - #include <sys/stat.h> - #include <fcntl.h> --#ifdef __linux__ -+#if defined(__linux__) && !defined(__ANDROID__) - #include <error.h> - #include <errno.h> - #include <sys/mman.h> ---- misc/hunspell-1.3.2/src/tools/unmunch.c -+++ misc/build/hunspell-1.3.2/src/tools/unmunch.c -@@ -8,7 +8,7 @@ - #include <sys/types.h> - #include <sys/stat.h> - #include <fcntl.h> --#ifdef __linux__ -+#if defined(__linux__) && !defined(__ANDROID__) - #include <error.h> - #include <errno.h> - #include <sys/mman.h> diff --git a/hunspell/hunspell-solaris.patch b/hunspell/hunspell-solaris.patch deleted file mode 100644 index b07bbb254c3f..000000000000 --- a/hunspell/hunspell-solaris.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- misc/hunspell-1.3.2.orig/src/tools/hunspell.cxx 2010-02-27 23:42:05.000000000 +0000 -+++ misc/build/hunspell-1.3.2/src/tools/hunspell.cxx 2010-02-27 23:43:02.000000000 +0000 -@@ -10,6 +10,9 @@ - #include "hunspell.hxx" - #include "csutil.hxx" - -+// switch off iconv support for tests (fixing Solaris problems) -+#undef HAVE_ICONV -+ - #ifndef HUNSPELL_EXTRA - #define suggest_auto suggest - #endif diff --git a/hunspell/hunspell-twoaffixcompound.patch b/hunspell/hunspell-twoaffixcompound.patch deleted file mode 100644 index 71881a25ac43..000000000000 --- a/hunspell/hunspell-twoaffixcompound.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- misc/hunspell-1.3.2/src/hunspell/affixmgr.cxx 2010-06-17 15:56:41.000000000 +0200 -+++ misc/build/hunspell-1.3.2/src/hunspell/affixmgr.cxx 2011-02-10 20:47:22.000000000 +0100 -@@ -48,6 +48,7 @@ - compoundroot = FLAG_NULL; // compound word signing flag - compoundpermitflag = FLAG_NULL; // compound permitting flag for suffixed word - compoundforbidflag = FLAG_NULL; // compound fordidden flag for suffixed word -+ compoundmoresuffixes = 0; // allow more suffixes within compound words - checkcompounddup = 0; // forbid double words in compounds - checkcompoundrep = 0; // forbid bad compounds (may be non compound word with a REP substitution) - checkcompoundcase = 0; // forbid upper and lowercase combinations at word bounds -@@ -404,6 +405,10 @@ - } - } - -+ if (strncmp(line,"COMPOUNDMORESUFFIXES",20) == 0) { -+ compoundmoresuffixes = 1; -+ } -+ - if (strncmp(line,"CHECKCOMPOUNDDUP",16) == 0) { - checkcompounddup = 1; - } -@@ -1626,8 +1631,9 @@ - if (onlycpdrule) break; - if (compoundflag && - !(rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundflag))) { -- if ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, -- FLAG_NULL, compoundflag, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) && !hu_mov_rule && -+ if (((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, -+ FLAG_NULL, compoundflag, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || -+ (compoundmoresuffixes && (rv = suffix_check_twosfx(st, i, 0, NULL, compoundflag)))) && !hu_mov_rule && - sfx->getCont() && - ((compoundforbidflag && TESTAFF(sfx->getCont(), compoundforbidflag, - sfx->getContLen())) || (compoundend && -@@ -1640,9 +1646,11 @@ - if (rv || - (((wordnum == 0) && compoundbegin && - ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundbegin, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || -+ (compoundmoresuffixes && (rv = suffix_check_twosfx(st, i, 0, NULL, compoundbegin))) || // twofold suffixes + compound - (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundbegin)))) || - ((wordnum > 0) && compoundmiddle && - ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundmiddle, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || -+ (compoundmoresuffixes && (rv = suffix_check_twosfx(st, i, 0, NULL, compoundmiddle))) || // twofold suffixes + compound - (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundmiddle))))) - ) checked_prefix = 1; - // else check forbiddenwords and needaffix -@@ -2118,8 +2126,9 @@ - if (onlycpdrule) break; - if (compoundflag && - !(rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundflag))) { -- if ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, -- FLAG_NULL, compoundflag, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) && !hu_mov_rule && -+ if (((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, -+ FLAG_NULL, compoundflag, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || -+ (compoundmoresuffixes && (rv = suffix_check_twosfx(st, i, 0, NULL, compoundflag)))) && !hu_mov_rule && - sfx->getCont() && - ((compoundforbidflag && TESTAFF(sfx->getCont(), compoundforbidflag, - sfx->getContLen())) || (compoundend && -@@ -2132,9 +2141,11 @@ - if (rv || - (((wordnum == 0) && compoundbegin && - ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundbegin, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || -+ (compoundmoresuffixes && (rv = suffix_check_twosfx(st, i, 0, NULL, compoundbegin))) || // twofold suffix+compound - (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundbegin)))) || - ((wordnum > 0) && compoundmiddle && - ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundmiddle, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || -+ (compoundmoresuffixes && (rv = suffix_check_twosfx(st, i, 0, NULL, compoundmiddle))) || // twofold suffix+compound - (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundmiddle))))) - ) { - // char * p = prefix_check_morph(st, i, 0, compound); ---- misc/hunspell-1.3.2/src/hunspell/affixmgr.hxx 2010-06-17 15:56:41.000000000 +0200 -+++ misc/build/hunspell-1.3.2/src/hunspell/affixmgr.hxx 2011-02-10 20:47:22.000000000 +0100 -@@ -41,6 +41,7 @@ - FLAG compoundroot; - FLAG compoundforbidflag; - FLAG compoundpermitflag; -+ int compoundmoresuffixes; - int checkcompounddup; - int checkcompoundrep; - int checkcompoundcase; - diff --git a/hunspell/hunspell-wundef.patch.1 b/hunspell/hunspell-wundef.patch.1 deleted file mode 100644 index 75131e06a2bc..000000000000 --- a/hunspell/hunspell-wundef.patch.1 +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/hunspell/hunvisapi.h.in 2013-04-01 14:41:16.507546705 +0200 -+++ b/src/hunspell/hunvisapi.h.in 2013-04-01 14:41:24.537547190 +0200 -@@ -9,7 +9,7 @@ - # else - # define LIBHUNSPELL_DLL_EXPORTED __declspec(dllimport) - # endif --#elif BUILDING_LIBHUNSPELL && @HAVE_VISIBILITY@ -+#elif defined(BUILDING_LIBHUNSPELL) && @HAVE_VISIBILITY@ - # define LIBHUNSPELL_DLL_EXPORTED __attribute__((__visibility__("default"))) - #else - # define LIBHUNSPELL_DLL_EXPORTED diff --git a/hunspell/hunspell.rhbz918938.patch b/hunspell/hunspell.rhbz918938.patch deleted file mode 100644 index f1bdbd4ff8ba..000000000000 --- a/hunspell/hunspell.rhbz918938.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- misc/hunspell-1.3.2/src/hunspell/hunspell.cxx 2011-02-02 12:04:29.000000000 +0000 -+++ misc/build/hunspell-1.3.2/src/hunspell/hunspell.cxx 2013-03-13 16:50:50.667928521 +0000 -@@ -12,6 +12,8 @@ - #endif - #include "csutil.hxx" - -+#include <string> -+ - Hunspell::Hunspell(const char * affpath, const char * dpath, const char * key) - { - encoding = NULL; -@@ -1710,6 +1712,19 @@ - return n; - } - -+namespace -+{ -+ void myrep(std::string& str, const std::string& search, const std::string& replace) -+ { -+ size_t pos = 0; -+ while ((pos = str.find(search, pos)) != std::string::npos) -+ { -+ str.replace(pos, search.length(), replace); -+ pos += replace.length(); -+ } -+ } -+} -+ - int Hunspell::spellml(char*** slst, const char * word) - { - char *q, *q2; -@@ -1721,26 +1736,26 @@ - q2 = strstr(q2, "<word"); - if (!q2) return 0; // bad XML input - if (check_xml_par(q, "type=", "analyze")) { -- int n = 0, s = 0; -+ int n = 0; - if (get_xml_par(cw, strchr(q2, '>'), MAXWORDUTF8LEN - 10)) n = analyze(slst, cw); - if (n == 0) return 0; - // convert the result to <code><a>ana1</a><a>ana2</a></code> format -- for (int i = 0; i < n; i++) s+= strlen((*slst)[i]); -- char * r = (char *) malloc(6 + 5 * s + 7 * n + 7 + 1); // XXX 5*s->&->& -- if (!r) return 0; -- strcpy(r, "<code>"); -+ std::string r; -+ r.append("<code>"); - for (int i = 0; i < n; i++) { -- int l = strlen(r); -- strcpy(r + l, "<a>"); -- strcpy(r + l + 3, (*slst)[i]); -- mystrrep(r + l + 3, "\t", " "); -- mystrrep(r + l + 3, "<", "<"); -- mystrrep(r + l + 3, "&", "&"); -- strcat(r, "</a>"); -+ r.append("<a>"); -+ -+ std::string entry((*slst)[i]); - free((*slst)[i]); -+ myrep(entry, "\t", " "); -+ myrep(entry, "&", "&"); -+ myrep(entry, "<", "<"); -+ r.append(entry); -+ -+ r.append("</a>"); - } -- strcat(r, "</code>"); -- (*slst)[0] = r; -+ r.append("</code>"); -+ (*slst)[0] = mystrdup(r.c_str()); - return 1; - } else if (check_xml_par(q, "type=", "stem")) { - if (get_xml_par(cw, strchr(q2, '>'), MAXWORDUTF8LEN - 1)) return stem(slst, cw); |