Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: chrome/third_party/hunspell/google.patch

Issue 155841: Update Hunspell to the latest stable version to use the latest dictionary for... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/third_party/hunspell/README.chromium ('k') | chrome/third_party/hunspell/hunspell.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 Index: src/hunspell/affixmgr.cxx
2 ===================================================================
3 --- src/hunspell/affixmgr.cxx (revision 3811)
4 +++ src/hunspell/affixmgr.cxx (working copy)
5 @@ -25,7 +27,7 @@
6 #endif
7 #endif
8
9 -AffixMgr::AffixMgr(const char * affpath, HashMgr* ptr)
10 +AffixMgr::AffixMgr(FILE* aff_handle, HashMgr* ptr)
11 {
12 // register hash manager and load affix data from aff file
13 pHMgr = ptr;
14 @@ -104,8 +106,8 @@
15 contclasses[j] = 0;
16 }
17
18 - if (parse_file(affpath)) {
19 - HUNSPELL_WARNING(stderr, "Failure loading aff file %s\n",affpath);
20 + if (parse_file(aff_handle)) {
21 + HUNSPELL_WARNING(stderr, "Failure loading aff file\n");
22 wordchars = mystrdup("qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM ");
23 }
24
25 @@ -232,7 +234,7 @@
26
27
28 // read in aff file and build up prefix and suffix entry objects
29 -int AffixMgr::parse_file(const char * affpath)
30 +int AffixMgr::parse_file(FILE* aff_handle)
31 {
32
33 // io buffers
34 @@ -250,11 +252,12 @@
35
36 // open the affix file
37 FILE * afflst;
38 - afflst = fopen(affpath,"r");
39 + afflst = _fdopen(_dup(_fileno(aff_handle)), "r");
40 if (!afflst) {
41 - HUNSPELL_WARNING(stderr, "error: could not open affix description file %s\n ",affpath);
42 + HUNSPELL_WARNING(stderr, "error: could not open affix description file\n");
43 return 1;
44 }
45 + fseek(afflst, 0, SEEK_SET);
46
47 // step one is to parse the affix file building up the internal
48 // affix data structures
49 Index: src/hunspell/affixmgr.hxx
50 ===================================================================
51 --- src/hunspell/affixmgr.hxx (revision 3811)
52 +++ src/hunspell/affixmgr.hxx (working copy)
53 @@ -93,7 +93,7 @@
54
55 public:
56
57 - AffixMgr(const char * affpath, HashMgr * ptr);
58 + AffixMgr(FILE* aff_handle, HashMgr * ptr);
59 ~AffixMgr();
60 struct hentry * affix_check(const char * word, int len,
61 const unsigned short needflag = (unsigned short) 0, char in_compoun d = IN_CPD_NOT);
62 @@ -179,7 +179,7 @@
63 int get_checksharps(void);
64
65 private:
66 - int parse_file(const char * affpath);
67 + int parse_file(FILE* aff_handle);
68 // int parse_string(char * line, char ** out, const char * name);
69 int parse_flag(char * line, unsigned short * out, const char * name);
70 int parse_num(char * line, int * out, const char * name);
71 Index: src/hunspell/hashmgr.cxx
72 ===================================================================
73 --- src/hunspell/hashmgr.cxx (revision 3811)
74 +++ src/hunspell/hashmgr.cxx (working copy)
75 @@ -29,7 +31,7 @@
76
77 // build a hash table from a munched word list
78
79 -HashMgr::HashMgr(const char * tpath, const char * apath)
80 +HashMgr::HashMgr(FILE* dic_handle, FILE* aff_handle)
81 {
82 tablesize = 0;
83 tableptr = NULL;
84 @@ -43,8 +45,8 @@
85 aliasf = NULL;
86 numaliasm = 0;
87 aliasm = NULL;
88 - load_config(apath);
89 - int ec = load_tables(tpath);
90 + load_config(aff_handle);
91 + int ec = load_tables(dic_handle);
92 if (ec) {
93 /* error condition - what should we do here */
94 HUNSPELL_WARNING(stderr, "Hash Manager Error : %d\n",ec);
95 @@ -240,7 +242,7 @@
96 }
97
98 // load a munched word list and build a hash table on the fly
99 -int HashMgr::load_tables(const char * tpath)
100 +int HashMgr::load_tables(FILE* t_handle)
101 {
102 int wl, al;
103 char * ap;
104 @@ -248,8 +250,9 @@
105 unsigned short * flags;
106
107 // raw dictionary - munched file
108 - FILE * rawdict = fopen(tpath, "r");
109 + FILE * rawdict = _fdopen(_dup(_fileno(t_handle)), "r");
110 if (rawdict == NULL) return 1;
111 + fseek(rawdict, 0, SEEK_SET);
112
113 // first read the first line of file to get hash table size */
114 char ts[MAXDELEN];
115 @@ -442,7 +445,7 @@
116 }
117
118 // read in aff file and set flag mode
119 -int HashMgr::load_config(const char * affpath)
120 +int HashMgr::load_config(FILE* aff_handle)
121 {
122 int firstline = 1;
123
124 @@ -451,11 +454,12 @@
125
126 // open the affix file
127 FILE * afflst;
128 - afflst = fopen(affpath,"r");
129 + afflst = _fdopen(_dup(_fileno(aff_handle)), "r");
130 if (!afflst) {
131 - HUNSPELL_WARNING(stderr, "Error - could not open affix description file %s\ n",affpath);
132 + HUNSPELL_WARNING(stderr, "Error - could not open affix description file\n") ;
133 return 1;
134 }
135 + fseek(afflst, 0, SEEK_SET);
136
137 // read in each line ignoring any that do not
138 // start with a known line type indicator
139 Index: src/hunspell/hashmgr.hxx
140 ===================================================================
141 --- src/hunspell/hashmgr.hxx (revision 3811)
142 +++ src/hunspell/hashmgr.hxx (working copy)
143 @@ -25,7 +25,7 @@
144
145
146 public:
147 - HashMgr(const char * tpath, const char * apath);
148 + HashMgr(FILE* t_handle, FILE* a_handle);
149 ~HashMgr();
150
151 struct hentry * lookup(const char *) const;
152 @@ -46,9 +46,9 @@
153
154
155 private:
156 - int load_tables(const char * tpath);
157 + int load_tables(FILE* t_handle);
158 int add_word(const char * word, int wl, unsigned short * ap, int al, const ch ar * desc);
159 - int load_config(const char * affpath);
160 + int load_config(FILE* aff_handle);
161 int parse_aliasf(char * line, FILE * af);
162 #ifdef HUNSPELL_EXPERIMENTAL
163 int parse_aliasm(char * line, FILE * af);
164 Index: src/hunspell/hunspell.cxx
165 ===================================================================
166 --- src/hunspell/hunspell.cxx (revision 3811)
167 +++ src/hunspell/hunspell.cxx (working copy)
168 @@ -20,7 +20,7 @@
169 #endif
170 #endif
171
172 -Hunspell::Hunspell(const char * affpath, const char * dpath)
173 +Hunspell::Hunspell(FILE* aff_handle, FILE* dic_handle)
174 {
175 encoding = NULL;
176 csconv = NULL;
177 @@ -28,11 +28,11 @@
178 complexprefixes = 0;
179
180 /* first set up the hash manager */
181 - pHMgr = new HashMgr(dpath, affpath);
182 + pHMgr = new HashMgr(dic_handle, aff_handle);
183
184 /* next set up the affix manager */
185 /* it needs access to the hash manager lookup methods */
186 - pAMgr = new AffixMgr(affpath,pHMgr);
187 + pAMgr = new AffixMgr(aff_handle, pHMgr);
188
189 /* get the preferred try string and the dictionary */
190 /* encoding from the Affix Manager for that dictionary */
191 @@ -1694,9 +1694,9 @@
192
193 #endif // END OF HUNSPELL_EXPERIMENTAL CODE
194
195 -Hunhandle *Hunspell_create(const char * affpath, const char * dpath)
196 +Hunhandle *Hunspell_create(FILE* aff_handle, FILE* dic_handle)
197 {
198 - return (Hunhandle*)(new Hunspell(affpath, dpath));
199 + return (Hunhandle*)(new Hunspell(aff_handle, dic_handle));
200 }
201
202 void Hunspell_destroy(Hunhandle *pHunspell)
203 Index: src/hunspell/hunspell.hxx
204 ===================================================================
205 --- src/hunspell/hunspell.hxx (revision 3811)
206 +++ src/hunspell/hunspell.hxx (working copy)
207 @@ -48,7 +48,7 @@
208 * input: path of affix file and dictionary file
209 */
210
211 - Hunspell(const char * affpath, const char * dpath);
212 + Hunspell(FILE* aff_handle, FILE* dic_handle);
OLDNEW
« no previous file with comments | « chrome/third_party/hunspell/README.chromium ('k') | chrome/third_party/hunspell/hunspell.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698