[BUILTIN] Small optimisation of command -pv change
This patch moves the pathval call into the describe_command
function and also eliminates an unnecessary branch when DEBUG
is off.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/ChangeLog b/ChangeLog
index 2fbc628..eb3bbc3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-09-26 Herbert Xu <herbert@gondor.apana.org.au>
+
+ * Small optimisation of command -pv change.
+
2014-09-26 Harald van Dijk <harald@gigawatt.nl>
* command: allow combining -p with -v.
diff --git a/src/exec.c b/src/exec.c
index e56e3f6..ec0eadd 100644
--- a/src/exec.c
+++ b/src/exec.c
@@ -727,7 +727,7 @@
int err = 0;
for (i = 1; i < argc; i++) {
- err |= describe_command(out1, argv[i], pathval(), 1);
+ err |= describe_command(out1, argv[i], NULL, 1);
}
return err;
}
@@ -743,6 +743,8 @@
struct tblentry *cmdp;
const struct alias *ap;
+ path = path ?: pathval();
+
if (verbose) {
outstr(command, out);
}
@@ -840,19 +842,19 @@
VERIFY_BRIEF = 1,
VERIFY_VERBOSE = 2,
} verify = 0;
- const char *path = pathval();
+ const char *path = NULL;
while ((c = nextopt("pvV")) != '\0')
if (c == 'V')
verify |= VERIFY_VERBOSE;
else if (c == 'v')
verify |= VERIFY_BRIEF;
- else if (c == 'p')
- path = defpath;
#ifdef DEBUG
- else
+ else if (c != 'p')
abort();
#endif
+ else
+ path = defpath;
cmd = *argptr;
if (verify && cmd)