]> git.saurik.com Git - apt.git/commitdiff
re-add missing APT::String::Strip
authorMichael Vogt <mvo@debian.org>
Fri, 18 Oct 2013 16:26:56 +0000 (18:26 +0200)
committerMichael Vogt <mvo@debian.org>
Fri, 18 Oct 2013 16:26:56 +0000 (18:26 +0200)
apt-pkg/contrib/strutl.cc
apt-pkg/contrib/strutl.h
apt-pkg/deb/dpkgpm.cc
apt-pkg/iprogress.cc
apt-pkg/iprogress.h
test/integration/test-apt-progress-fd

index 77e48962c086ec7be659736b1fd6e9d62e303994..9f794927d0e3280f1a3f9e5072b28c0c896d533a 100644 (file)
 
 using namespace std;
                                                                        /*}}}*/
-
+// Strip - Remove white space from the front and back of a string       /*{{{*/
+// ---------------------------------------------------------------------
+namespace APT {
+   namespace String {
+std::string Strip(const std::string &s)
+{
+   size_t start = s.find_first_not_of(" \t\n");
+   // only whitespace
+   if (start == string::npos)
+      return "";
+   size_t end = s.find_last_not_of(" \t\n");
+   return s.substr(start, end-start+1);
+}
+}
+}
+                                                                       /*}}}*/
 // UTF8ToCodeset - Convert some UTF-8 string for some codeset          /*{{{*/
 // ---------------------------------------------------------------------
 /* This is handy to use before display some information for enduser  */
index b42e0649171ceae71131f3236132af199a53d400..c8fc317c029685df1b1aa6b3a269785899076566 100644 (file)
@@ -33,6 +33,13 @@ using std::vector;
 using std::ostream;
 #endif
 
+namespace APT {
+   namespace String {
+      std::string Strip(const std::string &s);
+   };
+};
+
+
 bool UTF8ToCodeset(const char *codeset, const std::string &orig, std::string *dest);
 char *_strstrip(char *String);
 char *_strrstrip(char *String); // right strip only
index b5f8580220a0e24160d665c1bb6444ece9f21dc5..5f1849b534f3f0a89febe4de4d7c7f9ad62a160e 100644 (file)
@@ -668,6 +668,10 @@ void pkgDPkgPM::ProcessDpkgStatusLine(char *line)
       // check if the package moved to the next dpkg state
       if(next_action && (action == next_action))
       {
+         // we moved from one dpkg state to a new one, report that
+         PackageOpsDone[pkg]++;
+         PackagesDone++;
+
          // only read the translation if there is actually a next
          // action
          const char *translation = _(states[PackageOpsDone[pkg]].str);
@@ -675,9 +679,6 @@ void pkgDPkgPM::ProcessDpkgStatusLine(char *line)
          strprintf(msg, translation, i18n_pkgname.c_str());
          d->progress->StatusChanged(pkgname, PackagesDone, PackagesTotal, msg);
          
-         // we moved from one dpkg state to a new one, report that
-         PackageOpsDone[pkg]++;
-         PackagesDone++;
       }
       if (Debug == true) 
          std::clog << "(parsed from dpkg) pkg: " << short_pkgname
index 318d626d42866e4baed8d9646be355ba0b487d2e..daa7695e27bcd7d8cb13fdde5ce5bacce74a5623 100644 (file)
@@ -29,6 +29,7 @@ bool PackageManager::StatusChanged(std::string PackageName,
 }
 
 PackageManagerProgressFd::PackageManagerProgressFd(int progress_fd)
+   : StepsDone(0), StepsTotal(1)
 {
    OutStatusFd = progress_fd;
 }
@@ -106,6 +107,13 @@ bool PackageManagerProgressFd::StatusChanged(std::string PackageName,
           << ":" << pkg_action
           << std::endl;
    WriteToStatusFd(status.str());
+
+   if(_config->FindB("Debug::APT::Progress::PackageManagerFd", false) == true)
+      std::cerr << "progress: " << PackageName << " " << xStepsDone
+                << " " << xTotalSteps << " " << pkg_action
+                << std::endl;
+
+
    return true;
 }
 
index ccf1542793f866759d1d9235b926bf7bb0e295a8..42fa89be48251336b4800b4b729a335ad57e145a 100644 (file)
@@ -21,7 +21,7 @@ namespace Progress {
 
  public:
     PackageManager() 
-       : percentage(0.0), last_reported_progress(0) {};
+       : percentage(0.0), last_reported_progress(-1) {};
     virtual ~PackageManager() {};
 
     virtual void Start() {};
index cdf8d4a2393401eb5ab7655f39f1d23a3614c381..97bb2584844a7a3dbc13d2a96e9c199a97106e6f 100755 (executable)
@@ -50,7 +50,6 @@ pmstatus:testing:33.3333:Preparing for removal of testing (amd64)
 pmstatus:testing:66.6667:Removing testing (amd64)
 pmstatus:testing:100:Removed testing (amd64)" cat apt-progress.log
 
-
 # install non-native and ensure we get proper progress info
 exec 3> apt-progress.log
 testsuccess aptget install testing2:i386 -y -o APT::Status-Fd=3