]> granicus.if.org Git - procps-ng/commitdiff
Fixed pmap -x Kbytes column
authorCraig Small <csmall@enc.com.au>
Thu, 22 Dec 2011 13:44:23 +0000 (00:44 +1100)
committerCraig Small <csmall@enc.com.au>
Thu, 22 Dec 2011 13:44:23 +0000 (00:44 +1100)
The Kbytes column when using the pmap -x flag would always be zero. This
was because the diff variable was reset before it could be printed.
pmap with no -x was not impacted by this bug or fix.

pmap.c

diff --git a/pmap.c b/pmap.c
index c92737d882d75c72cc8503e341e5485aae6202f5..6555b841145b257919f6f0c3ca064c6bf14805b4 100644 (file)
--- a/pmap.c
+++ b/pmap.c
@@ -138,6 +138,7 @@ static int one_proc(proc_t *p){
   unsigned long long total_rss = 0ull;
   unsigned long long total_private_dirty = 0ull;
   unsigned long long total_shared_dirty = 0ull;
+  unsigned KLONG diff=0;
 
   // Overkill, but who knows what is proper? The "w" prog
   // uses the tty width to determine this.
@@ -167,7 +168,7 @@ static int one_proc(proc_t *p){
   while(fgets(mapbuf,sizeof mapbuf,fp)){
     char flags[32];
     char *tmp; // to clean up unprintables
-    unsigned KLONG start, end, diff=0;
+    unsigned KLONG start, end;
     unsigned long long file_offset, inode;
     unsigned dev_major, dev_minor;
     unsigned long long smap_value;
@@ -206,6 +207,7 @@ static int one_proc(proc_t *p){
           );
           /* reset some counters */
           rss = shared_dirty = private_dirty = 0ull;
+          diff=0;
           continue;
         }
         /* Other keys */