From 5834216fb3aa4e5e59ee13e871c70db1b4e13f02 Mon Sep 17 00:00:00 2001
From: Patrick Ohly <patrick.ohly@intel.com>
Date: Fri, 30 Sep 2016 10:22:16 +0200
Subject: [PATCH] command line: apply operation to all paths

Previously, invocations like "evmctl ima_hash foo bar" silently
ignored all parameters after the first path name ("foo" in this
example).

Now evmctl iterates over all specified paths. It aborts with an
error as soon as the selected operation fails for a path.

Supporting more than one parameter is useful in combination with
"find" and "xargs" because it is noticably faster than invoking
evmutil separately for each file, in particular when run under pseudo
(a fakeroot environment used by the OpenEmbedded build system).

This complements the recursive mode and can be used when more control
over file selection is needed.

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
---
 src/evmctl.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/evmctl.c b/src/evmctl.c
index 23cf54c..2072034 100644
--- a/src/evmctl.c
+++ b/src/evmctl.c
@@ -626,7 +626,7 @@ static int get_file_type(const char *path, const char *search_type)
 static int do_cmd(struct command *cmd, find_cb_t func)
 {
 	char *path = g_argv[optind++];
-	int err, dts = REG_MASK; /* only regular files by default */
+	int err = 0, dts = REG_MASK; /* only regular files by default */
 
 	if (!path) {
 		log_err("Parameters missing\n");
@@ -634,15 +634,18 @@ static int do_cmd(struct command *cmd, find_cb_t func)
 		return -1;
 	}
 
-	if (recursive) {
-		if (search_type) {
-			dts = get_file_type(path, search_type);
-			if (dts < 0)
-				return dts;
+	while (path && !err) {
+		if (recursive) {
+			if (search_type) {
+				dts = get_file_type(path, search_type);
+				if (dts < 0)
+					return dts;
+			}
+			err = find(path, dts, func);
+		} else {
+			err = func(path);
 		}
-		err = find(path, dts, func);
-	} else {
-		err = func(path);
+		path = g_argv[optind++];
 	}
 
 	return err;
-- 
2.1.4

