diff options
author | Warner Losh <imp@FreeBSD.org> | 2022-09-01 20:06:01 +0300 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2022-09-01 20:08:19 +0300 |
commit | a5948d40ad060140bf5b995f5409458a18ced0ce (patch) | |
tree | cf6c76a2cfecdd5b973be6e0c74015e4a2f08137 /stand | |
parent | 113dfadd5c8c2b8a566bf4d0e969e1dff62c9e2f (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.h | 1 | ||||
-rw-r--r-- | stand/common/interp.c | 9 |
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); +} |