Changeset 268
- Timestamp:
- 06/09/06 14:48:57 (6 years ago)
- Location:
- Search-Namazu/branches/0.96/Search-Namazu
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
Search-Namazu/branches/0.96/Search-Namazu/ChangeLog
r264 r268 1 2006-06-09 NOKUBI Takatsugu <knok@daionet.gr.jp> 2 3 * Namazu.xs: Fixed segfault bug on perl 5.005_03. 4 (Patched by Tadamasa Teranishi, thank you) 5 1 6 2006-06-06 NOKUBI Takatsugu <knok@daionet.gr.jp> 2 7 -
Search-Namazu/branches/0.96/Search-Namazu/Namazu.xs
r264 r268 196 196 PPCODE: 197 197 char *qstr; 198 char buffer[BUFSIZE]; 198 199 char cqstr[BUFSIZE * 2]; 199 200 AV *retar; … … 201 202 202 203 qstr = SvPV(query, PL_na); 203 nmz_codeconv_query(qstr); 204 strcpy(cqstr, qstr); 204 strncpy(buffer, qstr, BUFSIZE); 205 buffer[BUFSIZE - 1] = '\0'; 206 nmz_codeconv_query(buffer); 207 strcpy(cqstr, buffer); 205 208 retar = call_search_main_c(cqstr, maxget); 206 209 #if ! defined(PERL_VERSION) || (PERL_VERSION == 6 && PERL_SUBVERSION == 0) 207 210 { /* workaround for only one result */ 208 SV *ohlist = perl_eval_pv("new Search::Namazu::Result", TRUE); 209 XPUSHs(ohlist); 211 SPAGAIN; 210 212 } 211 213 #endif /* PERL_VERSION */ 212 214 while (av_len(retar) >= 0) { 213 XPUSHs(av_ pop(retar));215 XPUSHs(av_shift(retar)); 214 216 } 215 217 nmz_free_internal(); … … 222 224 CODE: 223 225 char *qstr; 226 char buffer[BUFSIZE]; 224 227 char cqstr[BUFSIZE * 2]; 225 228 AV *retar; … … 227 230 228 231 qstr = SvPV(query, PL_na); 229 nmz_codeconv_query(qstr); 230 strcpy(cqstr, qstr); 232 strncpy(buffer, qstr, BUFSIZE); 233 buffer[BUFSIZE - 1] = '\0'; 234 nmz_codeconv_query(buffer); 235 strcpy(cqstr, buffer); 231 236 retar = call_search_main_c(cqstr, maxget); 232 237 nmz_free_internal(); … … 243 248 CODE: 244 249 char *qstr; 250 char buffer[BUFSIZE]; 245 251 char cqstr[BUFSIZE * 2]; 246 252 AV *retar; … … 250 256 fields = (AV *) SvRV(fieldref); 251 257 qstr = SvPV(query, PL_na); 252 nmz_codeconv_query(qstr); 253 strcpy(cqstr, qstr); 258 strncpy(buffer, qstr, BUFSIZE); 259 buffer[BUFSIZE - 1] = '\0'; 260 nmz_codeconv_query(buffer); 261 strcpy(cqstr, buffer); 254 262 retar = call_search_main_fields_c(cqstr, maxget, fields); 255 263 nmz_free_internal();
