Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/freebsd-src.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/stand
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2022-09-01 20:06:01 +0300
committerWarner Losh <imp@FreeBSD.org>2022-09-01 20:08:19 +0300
commita5948d40ad060140bf5b995f5409458a18ced0ce (patch)
treecf6c76a2cfecdd5b973be6e0c74015e4a2f08137 /stand
parent113dfadd5c8c2b8a566bf4d0e969e1dff62c9e2f (diff)
stand: Add interp_has_builtin_cmd to see if we have a command
interp_has_builtin_cmd() will try to lookup the passed in command and returns true if it was found, false otherwise. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D36364
Diffstat (limited to 'stand')
-rw-r--r--stand/common/bootstrap.h1
-rw-r--r--stand/common/interp.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h
index 9c62a49b0da7..cb1c96dc3b69 100644
--- a/stand/common/bootstrap.h
+++ b/stand/common/bootstrap.h
@@ -52,6 +52,7 @@ extern char command_errbuf[COMMAND_ERRBUFSZ];
void interact(void);
void interp_emit_prompt(void);
int interp_builtin_cmd(int argc, char *argv[]);
+bool interp_has_builtin_cmd(const char *cmd);
/* Called by interp.c for interp_*.c embedded interpreters */
int interp_include(const char *); /* Execute commands from filename */
diff --git a/stand/common/interp.c b/stand/common/interp.c
index 227e7ad91e29..8b779fb7a5e9 100644
--- a/stand/common/interp.c
+++ b/stand/common/interp.c
@@ -190,3 +190,12 @@ interp_builtin_cmd(int argc, char *argv[])
}
return (result);
}
+
+/*
+ * Return true if the builtin command exists
+ */
+bool
+interp_has_builtin_cmd(const char *cmd)
+{
+ return (interp_lookup_cmd(cmd) != NULL);
+}