]> git.saurik.com Git - apt.git/blobdiff - cmdline/acqprogress.cc
Updated help text
[apt.git] / cmdline / acqprogress.cc
index 556b8869be521b7cb54b32bb4006e5e2228f1710..e2ef83501181e93a28e24d2a18eb70e0a3e6a2f2 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: acqprogress.cc,v 1.17 1999/08/04 05:37:18 jgg Exp $
+// $Id: acqprogress.cc,v 1.20 2000/05/12 04:03:27 jgg Exp $
 /* ######################################################################
 
    Acquire Progress - Command line progress meter 
@@ -93,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;
       
@@ -123,7 +124,7 @@ void AcqTextStatus::Stop()
       return;
 
    if (Quiet <= 0)
-      cout << '\r' << BlankLine << '\r';
+      cout << '\r' << BlankLine << '\r' << flush;
    
    if (FetchedBytes != 0 && _error->PendingError() == false)
       cout << "Fetched " << SizeToStr(FetchedBytes) << "B in " <<
@@ -145,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)));