]> granicus.if.org Git - procps-ng/commitdiff
library: standardize extents_free_all() logic, 3rd gen
authorJim Warner <james.warner@comcast.net>
Fri, 1 Jul 2016 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@enc.com.au>
Sat, 2 Jul 2016 06:33:01 +0000 (16:33 +1000)
As those 3rd generation newlib APIs evolved so too did
the extents_free_all() function. Most versions of this
function required the callers to first verify that the
extents anchor wasn't empty, which was poor etiquette.

This simple function should have been much more robust
and forgiving. With this commit, it fnally becomes so.

Signed-off-by: Jim Warner <james.warner@comcast.net>
proc/meminfo.c
proc/pids.c
proc/slabinfo.c
proc/stat.c
proc/vmstat.c

index 58f782461aafa36d231fc174c968e95734b25dec..9be12d4ceefca6a7865a470dd9ede35a4a3c430d 100644 (file)
@@ -401,11 +401,11 @@ static inline void cleanup_stacks_all (
 static void extents_free_all (
         struct procps_meminfo *info)
 {
-    do {
+    while (info->extents) {
         struct stacks_extent *p = info->extents;
         info->extents = info->extents->next;
         free(p);
-    } while (info->extents);
+    };
 } // end: extents_free_all
 
 
index 0f221ff53023d41a64b4d4666e5c56ada2799587..adaf477e796ef0105123c6b932768bc9e6ec077f 100644 (file)
@@ -832,14 +832,11 @@ static struct stacks_extent *extent_cut (
 static void extents_free_all (
         struct procps_pidsinfo *info)
 {
-    struct stacks_extent *ext = info->extents;
-
-    while (ext) {
-        info->extents = ext->next;
-        free(ext);
-        ext = info->extents;
+    while (info->extents) {
+        struct stacks_extent *p = info->extents;
+        info->extents = info->extents->next;
+        free(p);
     };
-    info->dirty_stacks = 0;
 } // end: extents_free_all
 
 
index 75b8df1014e7113e3d3a82a112e1824be175505f..f5dda453b1fa36863efe228df150a0b496f36682 100644 (file)
@@ -549,11 +549,11 @@ static inline void cleanup_stacks_all (
 static void extents_free_all (
         struct ext_support *this)
 {
-    do {
+    while (this->extents) {
         struct stacks_extent *p = this->extents;
         this->extents = this->extents->next;
         free(p);
-    } while (this->extents);
+    };
 } // end: extents_free_all
 
 
index 22863f41af4b61bbd123440343cc427318b932ee..1e003f71d3fbec6bb24ecc8d0548945f2957ba49 100644 (file)
@@ -319,11 +319,11 @@ static inline void cleanup_stacks_all (
 static void extents_free_all (
         struct ext_support *this)
 {
-    do {
+    while (this->extents) {
         struct stacks_extent *p = this->extents;
         this->extents = this->extents->next;
         free(p);
-    } while (this->extents);
+    };
 } // end: extents_free_all
 
 
index f091a3ccccf8ab6cbadd5744cb46d477cd10fa22..6de294a84ac0c241b7e11ad7bd21fdab3e4f2466 100644 (file)
@@ -766,11 +766,11 @@ static inline void cleanup_stacks_all (
 static void extents_free_all (
         struct procps_vmstat *info)
 {
-    do {
+    while (info->extents) {
         struct stacks_extent *p = info->extents;
         info->extents = info->extents->next;
         free(p);
-    } while (info->extents);
+    };
 } // end: extents_free_all