Lines 67-72
Link Here
|
67 |
break; |
67 |
break; |
68 |
} |
68 |
} |
69 |
} |
69 |
} |
|
|
70 |
|
71 |
if(installed && need < Package::NAME) |
72 |
{ |
73 |
need = Package::NAME; |
74 |
} |
75 |
|
76 |
if(dup_versions && need < Package::VERSIONS) |
77 |
{ |
78 |
need = Package::VERSIONS; |
79 |
} |
70 |
} |
80 |
} |
71 |
|
81 |
|
72 |
PackageTest::MatchField |
82 |
PackageTest::MatchField |
Lines 123-130
Link Here
|
123 |
bool |
133 |
bool |
124 |
PackageTest::stringMatch(Package *pkg) const |
134 |
PackageTest::stringMatch(Package *pkg) const |
125 |
{ |
135 |
{ |
126 |
pkg->readNeeded(need); |
|
|
127 |
|
128 |
if(field & NAME && (*algorithm)(pkg->name.c_str(), pkg)) |
136 |
if(field & NAME && (*algorithm)(pkg->name.c_str(), pkg)) |
129 |
{ |
137 |
{ |
130 |
return true; |
138 |
return true; |
Lines 167-172
Link Here
|
167 |
PackageTest::match(Package *pkg) const |
175 |
PackageTest::match(Package *pkg) const |
168 |
{ |
176 |
{ |
169 |
bool is_match = true; |
177 |
bool is_match = true; |
|
|
178 |
|
179 |
pkg->readNeeded(need); |
180 |
|
170 |
if(algorithm.get() != NULL) { |
181 |
if(algorithm.get() != NULL) { |
171 |
is_match = stringMatch(pkg); |
182 |
is_match = stringMatch(pkg); |
172 |
} |
183 |
} |
Lines 176-183
Link Here
|
176 |
is_match = vardbpkg->isInstalled(pkg); |
187 |
is_match = vardbpkg->isInstalled(pkg); |
177 |
} |
188 |
} |
178 |
|
189 |
|
179 |
if(dup_versions && is_match) |
190 |
if(dup_versions && is_match) { |
180 |
is_match = pkg->have_duplicate_versions; |
191 |
is_match = pkg->have_duplicate_versions; |
|
|
192 |
} |
181 |
|
193 |
|
182 |
return (invert ? !is_match : is_match); |
194 |
return (invert ? !is_match : is_match); |
183 |
} |
195 |
} |