diff options
| -rw-r--r-- | definitions.c | 12 | ||||
| -rw-r--r-- | files.h | 3 | ||||
| -rw-r--r-- | match.c | 3 | ||||
| -rw-r--r-- | 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; } @@ -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 @@ -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; } } @@ -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)) |
