From 889fd70ec7537472e7d378f3e500c17ce40743ff Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Tue, 26 Jan 2021 17:58:46 -0800 Subject: Cleaned up some error code --- definitions.c | 12 ++++-------- files.h | 3 +++ match.c | 3 +-- pattern.c | 3 +-- 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 #include +#include + +#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 #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)) -- cgit v1.2.3