summaryrefslogtreecommitdiffstats
path: root/src/core/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/exec.c')
-rw-r--r--src/core/exec.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/exec.c b/src/core/exec.c
index 60d8cb975..f65a4647c 100644
--- a/src/core/exec.c
+++ b/src/core/exec.c
@@ -381,3 +381,38 @@ struct command exit_command __command = {
.exec = exit_exec,
};
+/** "isset" options */
+struct isset_options {};
+
+/** "isset" option list */
+static struct option_descriptor isset_opts[] = {};
+
+/** "isset" command descriptor */
+static struct command_descriptor isset_cmd =
+ COMMAND_DESC ( struct isset_options, isset_opts, 0, MAX_ARGUMENTS,
+ "[...]", "" );
+
+/**
+ * "isset" command
+ *
+ * @v argc Argument count
+ * @v argv Argument list
+ * @ret rc Return status code
+ */
+static int isset_exec ( int argc, char **argv ) {
+ struct isset_options opts;
+ int rc;
+
+ /* Parse options */
+ if ( ( rc = parse_options ( argc, argv, &isset_cmd, &opts ) ) != 0 )
+ return rc;
+
+ /* Return success iff any arguments exist */
+ return ( ( optind == argc ) ? -ENOENT : 0 );
+}
+
+/** "isset" command */
+struct command isset_command __command = {
+ .name = "isset",
+ .exec = isset_exec,
+};