]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/acquire-worker.cc
Join with aliencode
[apt.git] / apt-pkg / acquire-worker.cc
index 40092d5d6c65e237b01e87404511961c7fc6cd5d..4805b5ebc668749198e8e18af2cba19070c27f55 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acquire-worker.cc,v 1.29 2000/01/17 07:11:49 jgg Exp $
+// $Id: acquire-worker.cc,v 1.32 2001/02/20 07:03:17 jgg Exp $
 /* ######################################################################
 
    Acquire Worker 
@@ -22,6 +22,8 @@
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/strutl.h>
 
+#include <apti18n.h>
+    
 #include <sys/stat.h>
 #include <unistd.h>
 #include <fcntl.h>
@@ -102,7 +104,7 @@ bool pkgAcquire::Worker::Start()
    // Get the method path
    string Method = _config->FindDir("Dir::Bin::Methods") + Access;
    if (FileExists(Method) == false)
-      return _error->Error("The method driver %s could not be found.",Method.c_str());
+      return _error->Error(_("The method driver %s could not be found."),Method.c_str());
 
    if (Debug == true)
       clog << "Starting method '" << Method << '\'' << endl;
@@ -117,7 +119,7 @@ bool pkgAcquire::Worker::Start()
       return false;
    }
    for (int I = 0; I != 4; I++)
-      SetCloseExec(Pipes[0],true);
+      SetCloseExec(Pipes[I],true);
    
    // Fork off the process
    Process = ExecFork();
@@ -154,7 +156,7 @@ bool pkgAcquire::Worker::Start()
    // Read the configuration data
    if (WaitFd(InFd) == false ||
        ReadMessages() == false)
-      return _error->Error("Method %s did not start correctly",Method.c_str());
+      return _error->Error(_("Method %s did not start correctly"),Method.c_str());
 
    RunMessages();
    if (OwnerQ != 0)
@@ -233,6 +235,10 @@ bool pkgAcquire::Worker::RunMessages()
            ResumePoint = atoi(LookupTag(Message,"Resume-Point","0").c_str());
            Itm->Owner->Start(Message,atoi(LookupTag(Message,"Size","0").c_str()));
 
+           // Display update before completion
+           if (Log != 0 && Log->MorePulses == true)
+              Log->Pulse(Itm->Owner->GetOwner());
+           
            if (Log != 0)
               Log->Fetch(*Itm);
 
@@ -247,13 +253,18 @@ bool pkgAcquire::Worker::RunMessages()
               _error->Error("Method gave invalid 201 URI Done message");
               break;
            }
-
+           
            pkgAcquire::Item *Owner = Itm->Owner;
            pkgAcquire::ItemDesc Desc = *Itm;
+           
+           // Display update before completion
+           if (Log != 0 && Log->MorePulses == true)
+              Log->Pulse(Owner->GetOwner());
+           
            OwnerQ->ItemDone(Itm);
-           if (TotalSize != 0 && 
+           if (TotalSize != 0 &&
                (unsigned)atoi(LookupTag(Message,"Size","0").c_str()) != TotalSize)
-              _error->Warning("Bizzar Error - File size is not what the server reported %s %u",
+              _error->Warning("Bizarre Error - File size is not what the server reported %s %lu",
                               LookupTag(Message,"Size","0").c_str(),TotalSize);
 
            Owner->Done(Message,atoi(LookupTag(Message,"Size","0").c_str()),
@@ -286,6 +297,10 @@ bool pkgAcquire::Worker::RunMessages()
               break;
            }
 
+           // Display update before completion
+           if (Log != 0 && Log->MorePulses == true)
+              Log->Pulse(Itm->Owner->GetOwner());
+           
            pkgAcquire::Item *Owner = Itm->Owner;
            pkgAcquire::ItemDesc Desc = *Itm;
            OwnerQ->ItemDone(Itm);
@@ -300,7 +315,7 @@ bool pkgAcquire::Worker::RunMessages()
         
         // 401 General Failure
         case 401:
-        _error->Error("Method %s General failure: %s",LookupTag(Message,"Message").c_str());
+        _error->Error("Method %s General failure: %s",Access.c_str(),LookupTag(Message,"Message").c_str());
         break;
         
         // 403 Media Change
@@ -392,7 +407,7 @@ bool pkgAcquire::Worker::SendConfiguration()
    {
       if (Top->Value.empty() == false)
       {
-        string Line = "Config-Item: " + Top->FullTag() + "=";
+        string Line = "Config-Item: " + QuoteString(Top->FullTag(),"=\"\n") + "=";
         Line += QuoteString(Top->Value,"\n") + '\n';
         Message += Line;
       }