]> git.saurik.com Git - apt.git/commitdiff
* merged from apt--mvo
authorMichael Vogt <egon@bottom>
Mon, 30 Oct 2006 10:02:02 +0000 (11:02 +0100)
committerMichael Vogt <egon@bottom>
Mon, 30 Oct 2006 10:02:02 +0000 (11:02 +0100)
apt-pkg/deb/dpkgpm.cc
debian/changelog

index 2b167dbf6f31c79765135f2d416f27843b40d4cb..4c44cd01a2ad062b06c545688434c3cb18efd0d1 100644 (file)
@@ -624,15 +624,20 @@ bool pkgDPkgPM::Go(int OutStatusFd)
            
         */
         char* list[5];
-        if(!TokSplitString(':', line, list, sizeof(list)/sizeof(list[0])))
-           // FIXME: dpkg sends multiline error messages sometimes (see
-           //        #374195 for a example. we should support this by
-           //        either patching dpkg to not send multiline over the
-           //        statusfd or by rewriting the code here to deal with
-           //        it. for now we just ignore it and not crash
-           continue;
+        //        dpkg sends multiline error messages sometimes (see
+        //        #374195 for a example. we should support this by
+        //        either patching dpkg to not send multiline over the
+        //        statusfd or by rewriting the code here to deal with
+        //        it. for now we just ignore it and not crash
+        TokSplitString(':', line, list, sizeof(list)/sizeof(list[0]));
         char *pkg = list[1];
         char *action = _strstrip(list[2]);
+        if( pkg == NULL || action == NULL) 
+        {
+           if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+              std::clog << "ignoring line: not enough ':'" << std::endl;
+           continue;
+        }
 
         if(strncmp(action,"error",strlen("error")) == 0)
         {
index 0f9b0197377059f38920d68b147b2d7b8d825ad0..066baa8bf9c9e9b0870684bdf32079beae275923 100644 (file)
@@ -1,5 +1,9 @@
 apt (0.6.46.3) unstable; urgency=low
 
+  * apt-pkg/deb/dpkgpm.cc:
+    - make progress reporting robust against multiline error
+      messages 
+
   * Merged from Christian Perrier bzr branch:
     - ca.po: Updated to 514t
     - be.po: Updated to 514t