]> git.pld-linux.org Git - packages/poldek.git/blobdiff - poldek-show_only_relative_used_space.patch
- rel .38; one more zlib fix
[packages/poldek.git] / poldek-show_only_relative_used_space.patch
index 334acd4de69c98267cb7fe182ebfaac5691b58cc..7fa96439e230275631e492bd1ce3fd3b9c2758bc 100644 (file)
@@ -22,7 +22,7 @@ index a0dd436..a670379 100644
  void poldek__ts_display_summary(struct poldek_ts *ts)
  {
      int ninst = 0, ndep = 0, nrm = 0, npkgs = 0, parseable = 0;
-+    long sinsts = 0, sdeps = 0, srems = 0, sdiff = 0;
++    long int sinsts = 0, sdeps = 0, srems = 0, sdiff = 0;
      tn_array *ipkgs, *idepkgs, *rmpkgs, *pkgs;
      char ms[1024], *to, *prefix;
 -    int n;
@@ -41,17 +41,17 @@ index a0dd436..a670379 100644
 -    
 -    if (ts->type == POLDEK_TS_UNINSTALL) {
 +    if (ipkgs)
-+      for (i=0; i < n_array_size(ipkgs); i++) {
++      for (i=0; i < ninst; i++) {
 +          struct pkg *pkg = n_array_nth(ipkgs, i);
 +          sinsts += pkg->size;
 +      }
 +    if (idepkgs)
-+      for (i=0; i < n_array_size(idepkgs); i++) {
++      for (i=0; i < ndep; i++) {
 +          struct pkg *pkg = n_array_nth(idepkgs, i);
 +          sdeps += pkg->size;
 +      }
 +    if (rmpkgs)
-+      for (i=0; i < n_array_size(rmpkgs); i++) {
++      for (i=0; i < nrm; i++) {
 +          struct pkg *pkg = n_array_nth(rmpkgs, i);
 +          srems += pkg->size;
 +      }
@@ -67,7 +67,7 @@ index a0dd436..a670379 100644
          prefix = "R";
          pkgs = rmpkgs;
          npkgs = nrm + ndep;
-+        sdiff = sdeps + srems;
++        sdiff = - srems - sdeps;
          nrm = 0;
      }
      n_assert(pkgs);
@@ -76,14 +76,14 @@ index a0dd436..a670379 100644
              packages_display_summary(1, "R", rmpkgs, parseable);
      }
 +
-+    if (sdiff) {
-+      char size[64];
-+        snprintf_size(size, sizeof(size), abs(sdiff), 1, 1);
++    if (sdiff != 0) {
++        char size[64];
++        snprintf_size(size, sizeof(size), labs(sdiff), 1, 1);
 +
-+        if (sdiff > 0 && ts->type != POLDEK_TS_UNINSTALL)
-+          msgn(1, _("This operation will take %s of disk space."), size);
-+      else
-+          msgn(1, _("This operation will free %s of disk space."), size);
++        if (sdiff > 0)
++           msgn(1, _("This operation will use %s of disk space."), size);
++        else
++           msgn(1, _("This operation will free %s of disk space."), size);
 +    }
  }
  
This page took 0.063639 seconds and 4 git commands to generate.