aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/commands/commands.tm6
-rw-r--r--lib/patterns/patterns.c1
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/commands/commands.tm b/lib/commands/commands.tm
index aeadda4f..a5ce607a 100644
--- a/lib/commands/commands.tm
+++ b/lib/commands/commands.tm
@@ -18,10 +18,10 @@ enum ExitType(Exited(status:Int32), Signaled(signal:Int32), Failed)
struct ProgramResult(output:[Byte], errors:[Byte], exit_type:ExitType)
func or_fail(r:ProgramResult, message:Text?=none -> ProgramResult)
when r.exit_type is Exited(status)
- if status == 0
- return r
+ if status != 0
+ fail(message or "Program failed: $r")
else fail(message or "Program failed: $r")
- fail(message or "Program failed: $r")
+ return r
func output_text(r:ProgramResult, trim_newline=yes -> Text?)
when r.exit_type is Exited(status)
diff --git a/lib/patterns/patterns.c b/lib/patterns/patterns.c
index 5cb02ffa..04cc9c0e 100644
--- a/lib/patterns/patterns.c
+++ b/lib/patterns/patterns.c
@@ -504,6 +504,7 @@ static int64_t match_pat(TextIter_t *state, int64_t index, pat_t pat)
default: errx(1, "Invalid pattern");
}
errx(1, "Unreachable");
+ return 0;
}
static pat_t parse_next_pat(TextIter_t *state, int64_t *index)