summaryrefslogtreecommitdiff
path: root/apt-pkg/tagfile.cc
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:59:16 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:59:16 +0000
commitf5ec3b68c582138acce7c5a93e473dde50ab8354 (patch)
treefb93bfd27807a456c813e2506d1c39b24188dca2 /apt-pkg/tagfile.cc
parent0077d829b7c3a7d012e8eb1a6cc36ae1f07f3834 (diff)
Fix last fix, make sure we read something before giving up
Author: jgg Date: 2002-05-30 04:19:48 GMT Fix last fix, make sure we read something before giving up
Diffstat (limited to 'apt-pkg/tagfile.cc')
-rw-r--r--apt-pkg/tagfile.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc
index ab3647fd8..d58409bfb 100644
--- a/apt-pkg/tagfile.cc
+++ b/apt-pkg/tagfile.cc
@@ -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;