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.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/exec.c b/src/core/exec.c
index 7ce384437..217ed039e 100644
--- a/src/core/exec.c
+++ b/src/core/exec.c
@@ -143,6 +143,16 @@ static int process_on_failure ( int rc ) {
}
/**
+ * Process next command regardless of status from previous command
+ *
+ * @v rc Status of previous command
+ * @ret process Process next command
+ */
+static int process_always ( int rc __unused ) {
+ return 1;
+}
+
+/**
* Find command terminator
*
* @v tokens Token list
@@ -166,6 +176,10 @@ static int command_terminator ( char **tokens,
/* Short-circuit logical AND */
*process_next = process_on_success;
return i;
+ } else if ( strcmp ( tokens[i], ";" ) == 0 ) {
+ /* Process next command unconditionally */
+ *process_next = process_always;
+ return i;
}
}