]> git.saurik.com Git - apt.git/commitdiff
* merged from apt--tasks
authorMichael Vogt <michael.vogt@ubuntu.com>
Tue, 19 Sep 2006 14:12:02 +0000 (16:12 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Tue, 19 Sep 2006 14:12:02 +0000 (16:12 +0200)
cmdline/apt-get.cc

index cd43e17c7f118574335de37aff18fce85989afc4..0c2e15d7e793ae1c57fc66d20d26bd635e8d0eee 100644 (file)
@@ -1513,18 +1513,16 @@ bool DoInstallTask(CommandLine &CmdL)
    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++)
@@ -1538,14 +1536,15 @@ bool DoInstallTask(CommandLine &CmdL)
         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);