aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2021-01-26 17:58:46 -0800
committerBruce Hill <bruce@bruce-hill.com>2021-01-26 17:58:46 -0800
commit889fd70ec7537472e7d378f3e500c17ce40743ff (patch)
tree4a761afebe25d7074778d4ccaae4b47333110ac9
parentde0fec8fcb2e09500b4665b07fdad6a2902d9c87 (diff)
Cleaned up some error code
-rw-r--r--definitions.c12
-rw-r--r--files.h3
-rw-r--r--match.c3
-rw-r--r--pattern.c3
4 files changed, 9 insertions, 12 deletions
diff --git a/definitions.c b/definitions.c
index c60df0d..be5f51d 100644
--- a/definitions.c
+++ b/definitions.c
@@ -35,10 +35,8 @@ def_t *load_grammar(def_t *defs, file_t *f)
while (src < f->end) {
const char *name = src;
src = after_name(name);
- if (src <= name) {
- fprint_line(stdout, f, name, src, "Invalid name for definition: %s", name);
- exit(EXIT_FAILURE);
- }
+ if (src <= name)
+ file_err(f, name, src, "Invalid name for definition: %s", name);
size_t namelen = (size_t)(src - name);
if (!matchchar(&src, ':'))
errx(EXIT_FAILURE, "Expected ':' in definition");
@@ -50,10 +48,8 @@ def_t *load_grammar(def_t *defs, file_t *f)
if (matchchar(&src, ';'))
src = after_spaces(src);
}
- if (src < f->end) {
- fprint_line(stderr, f, src, NULL, "Invalid BP pattern");
- exit(EXIT_FAILURE);
- }
+ if (src < f->end)
+ file_err(f, src, NULL, "Invalid BP pattern");
return defs;
}
diff --git a/files.h b/files.h
index 63b1c0f..b82ead4 100644
--- a/files.h
+++ b/files.h
@@ -6,6 +6,9 @@
#include <stdbool.h>
#include <stdio.h>
+#include <unistd.h>
+
+#define file_err(f, ...) do { fprint_line(stderr, f, __VA_ARGS__); exit(EXIT_FAILURE); } while(false)
struct allocated_pat_s; // declared in types.h
diff --git a/match.c b/match.c
index aac0520..e675679 100644
--- a/match.c
+++ b/match.c
@@ -527,8 +527,7 @@ static match_t *match(def_t *defs, file_t *f, const char *str, pat_t *pat, bool
return m;
}
default: {
- fprintf(stderr, "Unknown pattern type: %d", pat->type);
- exit(EXIT_FAILURE);
+ errx(EXIT_FAILURE, "Unknown pattern type: %d", pat->type);
return NULL;
}
}
diff --git a/pattern.c b/pattern.c
index 5ecd774..99dd12d 100644
--- a/pattern.c
+++ b/pattern.c
@@ -10,11 +10,10 @@
#include <unistd.h>
#include "definitions.h"
+#include "files.h"
#include "pattern.h"
#include "utils.h"
-#define file_err(f, ...) do { fprint_line(stderr, f, __VA_ARGS__); exit(EXIT_FAILURE); } while(false)
-
__attribute__((nonnull))
static pat_t *expand_chain(file_t *f, pat_t *first);
__attribute__((nonnull))