X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/e7eb3a2744aa45179daea235800753d3d1955338..c57b3a9e5071a269d44d0ea01210a13ee56ca6fd:/lib/macros.c diff --git a/lib/macros.c b/lib/macros.c index d194ef5..e11c264 100644 --- a/lib/macros.c +++ b/lib/macros.c @@ -197,11 +197,11 @@ const struct mx_node *mx_parse(const char *filename, * and the name. */ dynstr_init(d); if(input == end) - fatal(0, "%s:%d: invalid expansion syntax (truncated)", - filename, e->line); + disorder_fatal(0, "%s:%d: invalid expansion syntax (truncated)", + filename, e->line); if(!isalnum((unsigned char)*input)) - fatal(0, "%s:%d: invalid expansion syntax (unexpected %#x)", - filename, e->line, (unsigned char)*input); + disorder_fatal(0, "%s:%d: invalid expansion syntax (unexpected %#x)", + filename, e->line, (unsigned char)*input); while(input < end && (isalnum((unsigned char)*input) || *input == '-')) dynstr_append(d, *input++); dynstr_terminate(d); @@ -240,9 +240,9 @@ const struct mx_node *mx_parse(const char *filename, } if(input >= end) { /* We ran out of input without encountering a balanced cbracket */ - fatal(0, "%s:%d: unterminated expansion argument '%.*s'", - filename, argument_start_line, - (int)(input - argument_start), argument_start); + disorder_fatal(0, "%s:%d: unterminated expansion argument '%.*s'", + filename, argument_start_line, + (int)(input - argument_start), argument_start); } /* Consistency check */ assert(*input == cbracket); @@ -390,8 +390,8 @@ int mx_register_macro(const char *name, /* This locates the error to the definition, which may be a line or two * beyond the @define command itself. The backtrace generated by * mx_expand() may help more. */ - error(0, "%s:%d: duplicate definition of '%s'", - definition->filename, definition->line, name); + disorder_error(0, "%s:%d: duplicate definition of '%s'", + definition->filename, definition->line, name); #endif return -2; } @@ -432,17 +432,17 @@ int mx_expand(const struct mx_node *m, case MX_EXPANSION: rc = 0; if(!(e = hash_find(expansions, m->name))) { - error(0, "%s:%d: unknown expansion name '%s'", - m->filename, m->line, m->name); + disorder_error(0, "%s:%d: unknown expansion name '%s'", + m->filename, m->line, m->name); if(sink_printf(output, "[['%s' unknown]]", m->name) < 0) return -1; } else if(m->nargs < e->min) { - error(0, "%s:%d: expansion '%s' requires %d args, only %d given", - m->filename, m->line, m->name, e->min, m->nargs); + disorder_error(0, "%s:%d: expansion '%s' requires %d args, only %d given", + m->filename, m->line, m->name, e->min, m->nargs); if(sink_printf(output, "[['%s' too few args]]", m->name) < 0) return -1; } else if(m->nargs > e->max) { - error(0, "%s:%d: expansion '%s' takes at most %d args, but %d given", + disorder_error(0, "%s:%d: expansion '%s' takes at most %d args, but %d given", m->filename, m->line, m->name, e->max, m->nargs); if(sink_printf(output, "[['%s' too many args]]", m->name) < 0) return -1; @@ -488,8 +488,8 @@ int mx_expand(const struct mx_node *m, if(rc) { /* For non-IO errors we generate some backtrace */ if(rc != -1) - error(0, " ...in @%s at %s:%d", - m->name, m->filename, m->line); + disorder_error(0, " ...in @%s at %s:%d", + m->name, m->filename, m->line); return rc; } break; @@ -523,7 +523,7 @@ int mx_expandstr(const struct mx_node *m, } else *sp = 0; if(rc && rc != -1 && what) - error(0, " ...in %s at %s:%d", what, m->filename, m->line); + disorder_error(0, " ...in %s at %s:%d", what, m->filename, m->line); return rc; } @@ -545,11 +545,11 @@ int mx_expand_file(const char *path, const struct mx_node *m; if((fd = open(path, O_RDONLY)) < 0) - fatal(errno, "error opening %s", path); + disorder_fatal(errno, "error opening %s", path); if(fstat(fd, &sb) < 0) - fatal(errno, "error statting %s", path); + disorder_fatal(errno, "error statting %s", path); if(!S_ISREG(sb.st_mode)) - fatal(0, "%s: not a regular file", path); + disorder_fatal(0, "%s: not a regular file", path); sofar = 0; b = xmalloc_noptr(sb.st_size); while(sofar < sb.st_size) { @@ -557,16 +557,16 @@ int mx_expand_file(const char *path, if(n > 0) sofar += n; else if(n == 0) - fatal(0, "unexpected EOF reading %s", path); + disorder_fatal(0, "unexpected EOF reading %s", path); else if(errno != EINTR) - fatal(errno, "error reading %s", path); + disorder_fatal(errno, "error reading %s", path); } xclose(fd); m = mx_parse(path, 1, b, b + sb.st_size); rc = mx_expand(m, output, u); if(rc && rc != -1) /* Mention inclusion in backtrace */ - error(0, " ...in inclusion of file '%s'", path); + disorder_error(0, " ...in inclusion of file '%s'", path); return rc; }