Resolves: rhbz#212984 discovered problem with missing wordchars

This commit is contained in:
Caolan McNamara 2007-06-06 11:07:19 +00:00
parent 0a1b5e5742
commit 526495fbb4
2 changed files with 41 additions and 17 deletions

View File

@ -1,6 +1,6 @@
diff -ru hunspell-1.1.5.orig/src/hunspell/affixmgr.cxx hunspell-1.1.5/src/hunspell/affixmgr.cxx
--- hunspell-1.1.5.orig/src/hunspell/affixmgr.cxx 2007-03-12 11:38:23.000000000 +0000
+++ hunspell-1.1.5/src/hunspell/affixmgr.cxx 2007-05-22 12:35:27.000000000 +0100
--- hunspell-1.1.5.orig/src/hunspell/affixmgr.cxx 2007-06-06 13:04:45.000000000 +0100
+++ hunspell-1.1.5/src/hunspell/affixmgr.cxx 2007-06-06 13:05:35.000000000 +0100
@@ -19,6 +19,8 @@
#include "csutil.hxx"
@ -10,7 +10,7 @@ diff -ru hunspell-1.1.5.orig/src/hunspell/affixmgr.cxx hunspell-1.1.5/src/hunspe
#ifndef MOZILLA_CLIENT
#ifndef W32
using namespace std;
@@ -230,6 +232,61 @@
@@ -230,6 +232,63 @@
checknum=0;
}
@ -54,7 +54,7 @@ diff -ru hunspell-1.1.5.orig/src/hunspell/affixmgr.cxx hunspell-1.1.5/src/hunspe
+ {
+ char *tmp = mystrdup(ignorechars);
+ ignorechars_utf16 = (unsigned short*)changeenc(to_utf16, tmp);
+ for (p = ignorechars_utf16; *p; ++p);
+ for (p = ignorechars_utf16; p && *p; ++p);
+ ignorechars_utf16_len = p - ignorechars_utf16;
+ flag_qsort(ignorechars_utf16, 0, ignorechars_utf16_len);
+ }
@ -63,16 +63,35 @@ diff -ru hunspell-1.1.5.orig/src/hunspell/affixmgr.cxx hunspell-1.1.5/src/hunspe
+ {
+ char *tmp = mystrdup(wordchars);
+ wordchars_utf16 = (unsigned short*)changeenc(to_utf16, tmp);
+ for (p = wordchars_utf16; *p; ++p);
+ for (p = wordchars_utf16; p && *p; ++p);
+ wordchars_utf16_len = p - wordchars_utf16;
+ flag_qsort(wordchars_utf16, 0, wordchars_utf16_len);
+ }
+
+ iconv_close(to_utf16);
+ }
+}
// read in aff file and build up prefix and suffix entry objects
int AffixMgr::parse_file(const char * affpath)
@@ -659,6 +716,9 @@
@@ -633,6 +692,7 @@
char * enc = get_encoding();
csconv = get_current_cs(enc);
+ bool bUTF8 = strcasecmp(enc, "UTF-8") != 0;
free(enc);
enc = NULL;
@@ -642,7 +702,7 @@
free(wordchars);
} else *expw = '\0';
- for (int i = 0; i <= 255; i++) {
+ for (int i = 0; i <= (bUTF8 ? 127 : 255); i++) {
if ( (csconv[i].cupper != csconv[i].clower) &&
(! strchr(expw, (char) i))) {
*(expw + strlen(expw) + 1) = '\0';
@@ -659,6 +719,9 @@
breaktable[0] = mystrdup("-");
numbreak = 1;
}
@ -82,9 +101,11 @@ diff -ru hunspell-1.1.5.orig/src/hunspell/affixmgr.cxx hunspell-1.1.5/src/hunspe
return 0;
}
Only in hunspell-1.1.5/src/hunspell: affixmgr.cxx.orig
Only in hunspell-1.1.5/src/hunspell: affixmgr.cxx.rej
diff -ru hunspell-1.1.5.orig/src/hunspell/affixmgr.hxx hunspell-1.1.5/src/hunspell/affixmgr.hxx
--- hunspell-1.1.5.orig/src/hunspell/affixmgr.hxx 2007-03-12 11:42:52.000000000 +0000
+++ hunspell-1.1.5/src/hunspell/affixmgr.hxx 2007-05-22 12:00:14.000000000 +0100
--- hunspell-1.1.5.orig/src/hunspell/affixmgr.hxx 2007-06-06 13:04:45.000000000 +0100
+++ hunspell-1.1.5/src/hunspell/affixmgr.hxx 2007-06-06 13:05:02.000000000 +0100
@@ -203,6 +203,7 @@
int process_pfx_tree_to_list();
int process_sfx_tree_to_list();
@ -94,8 +115,8 @@ diff -ru hunspell-1.1.5.orig/src/hunspell/affixmgr.hxx hunspell-1.1.5/src/hunspe
#endif
diff -ru hunspell-1.1.5.orig/src/hunspell/csutil.cxx hunspell-1.1.5/src/hunspell/csutil.cxx
--- hunspell-1.1.5.orig/src/hunspell/csutil.cxx 2007-03-12 12:01:56.000000000 +0000
+++ hunspell-1.1.5/src/hunspell/csutil.cxx 2007-05-22 12:21:30.000000000 +0100
--- hunspell-1.1.5.orig/src/hunspell/csutil.cxx 2007-06-06 13:04:45.000000000 +0100
+++ hunspell-1.1.5/src/hunspell/csutil.cxx 2007-06-06 13:05:02.000000000 +0100
@@ -5090,6 +5090,10 @@
#ifndef OPENOFFICEORG
#ifndef MOZILLA_CLIENT
@ -108,8 +129,8 @@ diff -ru hunspell-1.1.5.orig/src/hunspell/csutil.cxx hunspell-1.1.5/src/hunspell
if (utf_tbl) {
int j;
diff -ru hunspell-1.1.5.orig/src/parsers/textparser.cxx hunspell-1.1.5/src/parsers/textparser.cxx
--- hunspell-1.1.5.orig/src/parsers/textparser.cxx 2007-03-05 12:59:53.000000000 +0000
+++ hunspell-1.1.5/src/parsers/textparser.cxx 2007-05-22 12:02:24.000000000 +0100
--- hunspell-1.1.5.orig/src/parsers/textparser.cxx 2007-06-06 13:04:45.000000000 +0100
+++ hunspell-1.1.5/src/parsers/textparser.cxx 2007-06-06 13:05:02.000000000 +0100
@@ -5,6 +5,7 @@
#include "../hunspell/csutil.hxx"
@ -175,8 +196,8 @@ diff -ru hunspell-1.1.5.orig/src/parsers/textparser.cxx hunspell-1.1.5/src/parse
int TextParser::is_wordchar(char * w)
diff -ru hunspell-1.1.5.orig/src/parsers/textparser.hxx hunspell-1.1.5/src/parsers/textparser.hxx
--- hunspell-1.1.5.orig/src/parsers/textparser.hxx 2007-01-19 01:01:07.000000000 +0000
+++ hunspell-1.1.5/src/parsers/textparser.hxx 2007-05-22 11:29:52.000000000 +0100
--- hunspell-1.1.5.orig/src/parsers/textparser.hxx 2007-06-06 13:04:45.000000000 +0100
+++ hunspell-1.1.5/src/parsers/textparser.hxx 2007-06-06 13:05:02.000000000 +0100
@@ -20,12 +20,15 @@
*
*/
@ -222,8 +243,8 @@ diff -ru hunspell-1.1.5.orig/src/parsers/textparser.hxx hunspell-1.1.5/src/parse
#endif
diff -ru hunspell-1.1.5.orig/src/tools/hunspell.cxx hunspell-1.1.5/src/tools/hunspell.cxx
--- hunspell-1.1.5.orig/src/tools/hunspell.cxx 2007-05-21 13:31:55.000000000 +0100
+++ hunspell-1.1.5/src/tools/hunspell.cxx 2007-05-22 11:15:33.000000000 +0100
--- hunspell-1.1.5.orig/src/tools/hunspell.cxx 2007-06-06 13:04:45.000000000 +0100
+++ hunspell-1.1.5/src/tools/hunspell.cxx 2007-06-06 13:05:02.000000000 +0100
@@ -89,6 +89,8 @@
#endif
#endif

View File

@ -1,7 +1,7 @@
Name: hunspell
Summary: Hunspell is a spell checker and morphological analyzer library
Version: 1.1.5.3
Release: 3%{?dist}
Release: 4%{?dist}
Source: http://downloads.sourceforge.net/%{name}/hunspell-1.1.5-3.tar.gz
Group: System Environment/Libraries
URL: http://hunspell.sourceforge.net/
@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/hunspell.pc
%changelog
* Wed Jun 06 2007 Caolan McNamara <caolanm@redhat.com> - 1.1.5.3-4
- Resolves: rhbz#212984 discovered problem with missing wordchars
* Tue May 22 2007 Caolan McNamara <caolanm@redhat.com> - 1.1.5.3-3
- Resolves: rhbz#240696 extend encoding patch to promote and add
dictionary 8bit WORDCHARS to the ucs-2 word char list