Changeset 276
- Timestamp:
- 03/20/07 13:33:26 (5 years ago)
- Files:
-
- 1 modified
-
Search-Namazu/trunk/Search-Namazu/Namazu.xs (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Search-Namazu/trunk/Search-Namazu/Namazu.xs
r263 r276 209 209 PPCODE: 210 210 char *qstr; 211 char buffer[BUFSIZE]; 211 212 char cqstr[BUFSIZE * 2]; 212 213 AV *retar; … … 214 215 215 216 qstr = SvPV(query, PL_na); 216 nmz_codeconv_query(qstr); 217 strcpy(cqstr, qstr); 217 strncpy(buffer, qstr, BUFSIZE); 218 buffer[BUFSIZE - 1] = '\0'; 219 nmz_codeconv_query(buffer); 220 strcpy(cqstr, buffer); 218 221 retar = call_search_main_c(cqstr, maxget); 219 222 #if ! defined(PERL_VERSION) || (PERL_VERSION == 6 && PERL_SUBVERSION == 0) 220 223 { /* workaround for only one result */ 221 SV *ohlist = perl_eval_pv("new Search::Namazu::Result", TRUE); 222 XPUSHs(ohlist); 224 SPAGAIN; 223 225 } 224 226 #endif /* PERL_VERSION */ 225 227 while (av_len(retar) >= 0) { 226 XPUSHs(av_ pop(retar));228 XPUSHs(av_shift(retar)); 227 229 } 228 230 nmz_free_internal(); … … 235 237 CODE: 236 238 char *qstr; 239 char buffer[BUFSIZE]; 237 240 char cqstr[BUFSIZE * 2]; 238 241 AV *retar; … … 240 243 241 244 qstr = SvPV(query, PL_na); 242 nmz_codeconv_query(qstr); 243 strcpy(cqstr, qstr); 245 strncpy(buffer, qstr, BUFSIZE); 246 buffer[BUFSIZE - 1] = '\0'; 247 nmz_codeconv_query(buffer); 248 strcpy(cqstr, buffer); 244 249 retar = call_search_main_c(cqstr, maxget); 245 250 nmz_free_internal(); … … 256 261 CODE: 257 262 char *qstr; 263 char buffer[BUFSIZE]; 258 264 char cqstr[BUFSIZE * 2]; 259 265 AV *retar; … … 263 269 fields = (AV *) SvRV(fieldref); 264 270 qstr = SvPV(query, PL_na); 265 nmz_codeconv_query(qstr); 266 strcpy(cqstr, qstr); 271 strncpy(buffer, qstr, BUFSIZE); 272 buffer[BUFSIZE - 1] = '\0'; 273 nmz_codeconv_query(buffer); 274 strcpy(cqstr, buffer); 267 275 retar = call_search_main_fields_c(cqstr, maxget, fields); 268 276 nmz_free_internal();
