|
Line
Link Here
|
| 0 |
-- src/search/packagetest.cc |
0 |
++ src/search/packagetest.cc |
|
Lines 285-299
Link Here
|
| 285 |
{ \ |
285 |
{ \ |
| 286 |
vector<string> pairs; \ |
286 |
vector<string> pairs; \ |
| 287 |
split_string(pairs, s, true); \ |
287 |
split_string(pairs, s, true); \ |
| 288 |
for(vector<string>::iterator it(pairs.begin()); \ |
288 |
for(vector<string>::const_iterator it(pairs.begin()); \ |
| 289 |
likely(it != pairs.end()); ++it) { \ |
289 |
likely(it != pairs.end()); ++it) { \ |
| 290 |
string *s_ptr(&(*it)); \ |
290 |
vector<string>::const_iterator sit(it); \ |
| 291 |
++it; \ |
291 |
++it; \ |
| 292 |
if(it == pairs.end()) { \ |
292 |
if(it == pairs.end()) { \ |
| 293 |
default_value = f(*s_ptr); \ |
293 |
default_value = f(*sit); \ |
| 294 |
return; \ |
294 |
return; \ |
| 295 |
} \ |
295 |
} \ |
| 296 |
m.push_back(new Regex(s_ptr->c_str())); \ |
296 |
m.push_back(new Regex(sit->c_str())); \ |
| 297 |
v.push_back(f(*it)); \ |
297 |
v.push_back(f(*it)); \ |
| 298 |
} \ |
298 |
} \ |
| 299 |
default_value = d; \ |
299 |
default_value = d; \ |
|
Lines 324-333
Link Here
|
| 324 |
PackageTest::MatchField |
324 |
PackageTest::MatchField |
| 325 |
PackageTest::get_matchfield(const char *p) throw(ExBasic) |
325 |
PackageTest::get_matchfield(const char *p) throw(ExBasic) |
| 326 |
{ |
326 |
{ |
| 327 |
static auto_ptr<MatcherField> m; |
327 |
static MatcherField *m(NULL); |
| 328 |
if(!m.get()) { |
328 |
if(m == NULL) { |
| 329 |
EixRc &rc(get_eixrc(NULL)); |
329 |
EixRc &rc(get_eixrc(NULL)); |
| 330 |
m = auto_ptr<MatcherField>(new MatcherField(rc["DEFAULT_MATCH_FIELD"])); |
330 |
m = new MatcherField(rc["DEFAULT_MATCH_FIELD"]); |
| 331 |
} |
331 |
} |
| 332 |
return m->parse(p); |
332 |
return m->parse(p); |
| 333 |
} |
333 |
} |
|
Lines 335-344
Link Here
|
| 335 |
PackageTest::MatchAlgorithm |
335 |
PackageTest::MatchAlgorithm |
| 336 |
PackageTest::get_matchalgorithm(const char *p) throw(ExBasic) |
336 |
PackageTest::get_matchalgorithm(const char *p) throw(ExBasic) |
| 337 |
{ |
337 |
{ |
| 338 |
static auto_ptr<MatcherAlgorithm> m; |
338 |
static MatcherAlgorithm *m(NULL); |
| 339 |
if(!m.get()) { |
339 |
if(m == NULL) { |
| 340 |
EixRc &rc(get_eixrc(NULL)); |
340 |
EixRc &rc(get_eixrc(NULL)); |
| 341 |
m = auto_ptr<MatcherAlgorithm>(new MatcherAlgorithm(rc["DEFAULT_MATCH_ALGORITHM"])); |
341 |
m = new MatcherAlgorithm(rc["DEFAULT_MATCH_ALGORITHM"]); |
| 342 |
} |
342 |
} |
| 343 |
return m->parse(p); |
343 |
return m->parse(p); |
| 344 |
} |
344 |
} |