]> git.saurik.com Git - apt.git/commitdiff
Fix last fix, make sure we read something before giving up
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:59:16 +0000 (16:59 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:59:16 +0000 (16:59 +0000)
Author: jgg
Date: 2002-05-30 04:19:48 GMT
Fix last fix, make sure we read something before giving up

apt-pkg/tagfile.cc

index ab3647fd877bc674783bf6b352a6711562de7845..d58409bfbe3029d0f14f889171196ea20d886d9d 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: tagfile.cc,v 1.32 2002/03/26 07:22:31 jgg Exp $
+// $Id: tagfile.cc,v 1.33 2002/05/30 04:19:48 jgg Exp $
 /* ######################################################################
 
    Fast scanner for RFC-822 type header information
@@ -85,6 +85,7 @@ bool pkgTagFile::Step(pkgTagSection &Tag)
 bool pkgTagFile::Fill()
 {
    unsigned long EndSize = End - Start;
+   unsigned long Actual;
    
    memmove(Buffer,Start,EndSize);
    Start = Buffer;
@@ -93,7 +94,6 @@ bool pkgTagFile::Fill()
    if (Done == false)
    {
       // See if only a bit of the file is left
-      unsigned long Actual;
       if (Fd.Read(End,Size - (End - Buffer),&Actual) == false)
         return false;
       if (Actual != Size - (End - Buffer))
@@ -103,7 +103,7 @@ bool pkgTagFile::Fill()
    
    if (Done == true)
    {
-      if (EndSize <= 3)
+      if (EndSize <= 3 && Actual == 0)
         return false;
       if (Size - (End - Buffer) < 4)
         return true;