New upstream version
This commit is contained in:
parent
2866f22912
commit
fea5c36544
@ -1 +1 @@
|
||||
enchant-1.5.0.tar.gz
|
||||
enchant-1.6.0.tar.gz
|
||||
|
@ -1,23 +0,0 @@
|
||||
diff -ru enchant-1.5.0.orig/src/enchant.c enchant-1.5.0/src/enchant.c
|
||||
--- enchant-1.5.0.orig/src/enchant.c 2009-06-22 11:53:16.000000000 +0100
|
||||
+++ enchant-1.5.0/src/enchant.c 2009-06-22 11:53:39.000000000 +0100
|
||||
@@ -232,6 +232,9 @@
|
||||
if (module_dir)
|
||||
module_dirs = enchant_slist_append_unique_string (module_dirs, module_dir);
|
||||
|
||||
+#if defined(ENCHANT_GLOBAL_MODULE_DIR)
|
||||
+ module_dirs = enchant_slist_append_unique_string (module_dirs, g_strdup (ENCHANT_GLOBAL_MODULE_DIR));
|
||||
+#else
|
||||
/* Dynamically locate library and search for modules relative to it. */
|
||||
prefix = enchant_get_prefix_dir();
|
||||
if(prefix)
|
||||
@@ -240,9 +243,6 @@
|
||||
g_free(prefix);
|
||||
module_dirs = enchant_slist_append_unique_string (module_dirs, module_dir);
|
||||
}
|
||||
-
|
||||
-#if defined(ENCHANT_GLOBAL_MODULE_DIR)
|
||||
- module_dirs = enchant_slist_append_unique_string (module_dirs, g_strdup (ENCHANT_GLOBAL_MODULE_DIR));
|
||||
#endif
|
||||
|
||||
return module_dirs;
|
@ -1,48 +0,0 @@
|
||||
diff -ru enchant-1.4.2.orig/src/enchant.c enchant-1.4.2/src/enchant.c
|
||||
--- enchant-1.4.2.orig/src/enchant.c 2009-06-29 17:47:11.000000000 +0100
|
||||
+++ enchant-1.4.2/src/enchant.c 2009-06-29 20:46:17.000000000 +0100
|
||||
@@ -1543,11 +1544,13 @@
|
||||
EnchantDict *dict;
|
||||
EnchantProvider *owner;
|
||||
EnchantSession *session;
|
||||
+ EnchantDictPrivateData *enchant_dict_private_data;
|
||||
|
||||
g_return_if_fail (data);
|
||||
|
||||
dict = (EnchantDict *) data;
|
||||
- session = ((EnchantDictPrivateData*)dict->enchant_private_data)->session;
|
||||
+ enchant_dict_private_data = (EnchantDictPrivateData*)dict->enchant_private_data;
|
||||
+ session = enchant_dict_private_data->session;
|
||||
owner = session->provider;
|
||||
|
||||
if (owner && owner->dispose_dict)
|
||||
@@ -1555,6 +1558,8 @@
|
||||
else if(session->is_pwl)
|
||||
g_free (dict);
|
||||
|
||||
+ g_free(enchant_dict_private_data);
|
||||
+
|
||||
enchant_session_destroy (session);
|
||||
}
|
||||
|
||||
diff -ru enchant-1.4.2.orig/tests/enchant-ispell.c enchant-1.4.2/tests/enchant-ispell.c
|
||||
--- enchant-1.4.2.orig/tests/enchant-ispell.c 2009-06-29 17:47:11.000000000 +0100
|
||||
+++ enchant-1.4.2/tests/enchant-ispell.c 2009-06-29 20:45:29.000000000 +0100
|
||||
@@ -431,6 +431,8 @@
|
||||
do_mode_a (out, dict, word, pos, lineCount);
|
||||
else if (mode == MODE_L)
|
||||
do_mode_l (out, dict, word, lineCount);
|
||||
+
|
||||
+ g_string_free(word, TRUE);
|
||||
}
|
||||
if (token_ptr)
|
||||
g_slist_free (token_ptr);
|
||||
@@ -446,8 +448,6 @@
|
||||
enchant_broker_free_dict (broker, dict);
|
||||
enchant_broker_free (broker);
|
||||
|
||||
- if (word)
|
||||
- g_string_free (word, TRUE);
|
||||
g_string_free (str, TRUE);
|
||||
|
||||
return 0;
|
@ -1,51 +0,0 @@
|
||||
diff -ru enchant-1.4.2.orig/src/myspell/myspell_checker.cpp enchant-1.4.2/src/myspell/myspell_checker.cpp
|
||||
--- enchant-1.4.2.orig/src/myspell/myspell_checker.cpp 2009-06-29 17:04:41.000000000 +0100
|
||||
+++ enchant-1.4.2/src/myspell/myspell_checker.cpp 2009-06-29 17:25:40.000000000 +0100
|
||||
@@ -341,6 +341,27 @@
|
||||
return g_file_test(aff.c_str(), G_FILE_TEST_EXISTS) != 0;
|
||||
}
|
||||
|
||||
+static bool is_plausible_dict_for_tag(const char *dir_entry, const char *tag)
|
||||
+{
|
||||
+ const char *dic_suffix = ".dic";
|
||||
+ size_t dic_suffix_len = strlen(dic_suffix);
|
||||
+ size_t dir_entry_len = strlen(dir_entry);
|
||||
+ size_t tag_len = strlen(tag);
|
||||
+
|
||||
+ if (dir_entry_len - dic_suffix_len < tag_len)
|
||||
+ return false;
|
||||
+ if (strcmp(dir_entry+dir_entry_len-dic_suffix_len, dic_suffix) != 0)
|
||||
+ return false;
|
||||
+ if (strncmp (dir_entry, tag, tag_len) != 0)
|
||||
+ return false;
|
||||
+ //e.g. requested dict for "fi",
|
||||
+ //reject "fil_PH.dic"
|
||||
+ //allow "fi-FOO.dic", "fi_FOO.dic", "fi.dic", etc.
|
||||
+ if (!ispunct(dir_entry[tag_len]))
|
||||
+ return false;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
static char *
|
||||
myspell_request_dictionary (EnchantBroker * broker, const char * tag)
|
||||
{
|
||||
@@ -364,14 +385,13 @@
|
||||
if (dir) {
|
||||
const char *dir_entry;
|
||||
while ((dir_entry = g_dir_read_name (dir)) != NULL) {
|
||||
- if (strncmp (dir_entry, tag, strlen(tag)) == 0 &&
|
||||
- strstr (dir_entry, ".dic") != NULL) {
|
||||
+ if (is_plausible_dict_for_tag(dir_entry, tag)) {
|
||||
char *dict = g_build_filename (dirs[i].c_str(),
|
||||
dir_entry, NULL);
|
||||
- if(s_hasCorrespondingAffFile(dict)){
|
||||
- g_dir_close (dir);
|
||||
- return dict;
|
||||
- }
|
||||
+ if(s_hasCorrespondingAffFile(dict)){
|
||||
+ g_dir_close (dir);
|
||||
+ return dict;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
18
enchant.spec
18
enchant.spec
@ -1,7 +1,7 @@
|
||||
Summary: An Enchanting Spell Checking Library
|
||||
Name: enchant
|
||||
Version: 1.5.0
|
||||
Release: 5%{?dist}
|
||||
Version: 1.6.0
|
||||
Release: 1%{?dist}
|
||||
Epoch: 1
|
||||
Group: System Environment/Libraries
|
||||
License: LGPLv2+
|
||||
@ -14,13 +14,6 @@ BuildRequires: libvoikko-devel
|
||||
BuildRequires: automake, libtool
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
#http://bugzilla.abisource.com/show_bug.cgi?id=12160
|
||||
Patch0: enchant-1.5.0-abi12160.searchdirs.patch
|
||||
#http://bugzilla.abisource.com/show_bug.cgi?id=12173
|
||||
Patch1: enchant-1.5.0-abi12173.leaks.patch
|
||||
#http://bugzilla.abisource.com/show_bug.cgi?id=12174
|
||||
Patch2: enchant-1.5.0-abi12174.fixbadmatch.patch
|
||||
|
||||
%description
|
||||
A library that wraps other spell checking backends.
|
||||
|
||||
@ -52,9 +45,6 @@ Libraries, headers, and support files necessary to compile applications using li
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .searchdirs
|
||||
%patch1 -p1 -b .leaks
|
||||
%patch2 -p1 -b .fixbadmatch
|
||||
|
||||
%build
|
||||
%configure --enable-myspell --with-myspell-dir=/usr/share/myspell --disable-static --disable-ispell --disable-hspell --disable-zemberek
|
||||
@ -96,6 +86,10 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/enchant/*.la
|
||||
rm -r $RPM_BUILD_ROOT
|
||||
|
||||
%changelog
|
||||
* Thu Apr 01 2010 Marc Maurer <uwog@abisource.com> 1:1.6.0-1
|
||||
- New upstream version.
|
||||
- Drop all shipped patches, as they are included upstream.
|
||||
|
||||
* Tue Jan 5 2010 Michael Schwendt <mschwendt@fedoraproject.org> 1:1.5.0-5
|
||||
- Revert 544473: Move libenchant.so back into the -devel package.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user