aboutsummaryrefslogtreecommitdiff
path: root/src/fmt.cff
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2022-08-28 09:20:07 +0200
committerlemon <lsof@mailbox.org>2022-08-28 09:20:07 +0200
commita744bd5fcda35b086566ba961502d589eefd5fe9 (patch)
treefd012846bbe973394966b47687ff0aeb9256a652 /src/fmt.cff
parent57e8797417578239de57d8a62d32de403a89fb34 (diff)
fix some fold and add def const
Diffstat (limited to 'src/fmt.cff')
-rw-r--r--src/fmt.cff6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/fmt.cff b/src/fmt.cff
index 6707222..39b9e5b 100644
--- a/src/fmt.cff
+++ b/src/fmt.cff
@@ -387,6 +387,12 @@ extern fn warn(P *Parser, loc Loc, fmt *const u8, ...) void {
}
extern fn err(P *Parser, loc Loc, fmt *const u8, ...) void {
+ P.error = #t;
+ static nerr int = 0;
+ if nerr++ == 20 {
+ efmt("Aborting due to too many errors.\n");
+ exit(1);
+ }
let ap va_list #?;
ap->start(fmt);
vdiag(P, loc, "\e[31merror\e[0m", fmt, ap);