[PATCH 8/9] cli: simplify mime node walk

Jani Nikula jani at nikula.org
Fri Jan 6 12:14:49 PST 2017


The function is more straighforward to read when it's clear that the
only non-NULL return is at one place. No functional changes.
---
 mime-node.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/mime-node.c b/mime-node.c
index c9b82330f6e0..f719422ec678 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -322,20 +322,21 @@ mime_node_child (mime_node_t *parent, int child)
 static mime_node_t *
 _mime_node_seek_dfs_walk (mime_node_t *node, int *n)
 {
-    mime_node_t *ret = NULL;
     int i;
 
     if (*n == 0)
 	return node;
 
     *n -= 1;
-    for (i = 0; i < node->nchildren && !ret; i++) {
+    for (i = 0; i < node->nchildren; i++) {
 	mime_node_t *child = mime_node_child (node, i);
-	ret = _mime_node_seek_dfs_walk (child, n);
-	if (!ret)
-	    talloc_free (child);
+	mime_node_t *ret = _mime_node_seek_dfs_walk (child, n);
+	if (ret)
+	    return ret;
+
+	talloc_free (child);
     }
-    return ret;
+    return NULL;
 }
 
 mime_node_t *
-- 
2.11.0



More information about the notmuch mailing list