pkgRecords Recs(Cache);
unsigned int ExpectedInst = 0;
- unsigned int Packages = 0;
pkgProblemResolver Fix(Cache);
char buf[64*1024];
for (const char **I = CmdL.FileList + 1; *I != 0; I++)
{
regex_t Pattern;
- int Res;
// build regexp for the task
char S[300];
- snprintf(S, sizeof(S), "^Task:.*%s.*\n", *I);
+ snprintf(S, sizeof(S), "^Task:.*[^a-z]%s[^a-z].*\n", *I);
regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE);
for (Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++)
buf[end-start] = 0x0;
if (regexec(&Pattern,buf,0,0,0) != 0)
continue;
- TryToInstall(Pkg,Cache,Fix,false,false,ExpectedInst);
+ TryToInstall(Pkg,Cache,Fix,false,true,ExpectedInst);
}
+
+ regfree(&Pattern);
}
// Call the scored problem resolver
Fix.InstallProtect();
- if (Fix.Resolve(true) == false)
- _error->Discard();
+ Fix.Resolve(true);
// prompt for install
return InstallPackages(Cache,false,true);