X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/281daf46d178d4fb6f43e8b13b9b51736db84d74..eac0319318c8b4d13e43179b0ebcc7de0ca11eab:/cmdline/acqprogress.cc diff --git a/cmdline/acqprogress.cc b/cmdline/acqprogress.cc index f16843c61..e2ef83501 100644 --- a/cmdline/acqprogress.cc +++ b/cmdline/acqprogress.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acqprogress.cc,v 1.16 1999/07/03 03:10:35 jgg Exp $ +// $Id: acqprogress.cc,v 1.20 2000/05/12 04:03:27 jgg Exp $ /* ###################################################################### Acquire Progress - Command line progress meter @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -92,6 +93,7 @@ void AcqTextStatus::Fail(pkgAcquire::ItemDesc &Itm) if (Quiet > 1) return; + // Ignore certain kinds of transient failures (bad code) if (Itm.Owner->Status == pkgAcquire::Item::StatIdle) return; @@ -122,9 +124,9 @@ void AcqTextStatus::Stop() return; if (Quiet <= 0) - cout << '\r' << BlankLine << '\r'; + cout << '\r' << BlankLine << '\r' << flush; - if (FetchedBytes != 0) + if (FetchedBytes != 0 && _error->PendingError() == false) cout << "Fetched " << SizeToStr(FetchedBytes) << "B in " << TimeToStr(ElapsedTime) << " (" << SizeToStr(CurrentCPS) << "B/s)" << endl; @@ -144,10 +146,12 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner) enum {Long = 0,Medium,Short} Mode = Long; - char Buffer[300]; + char Buffer[1024]; char *End = Buffer + sizeof(Buffer); char *S = Buffer; - + if (ScreenWidth >= sizeof(Buffer)) + ScreenWidth = sizeof(Buffer)-1; + // Put in the percent done sprintf(S,"%ld%%",long(double((CurrentBytes + CurrentItems)*100.0)/double(TotalBytes+TotalItems)));