X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/blobdiff_plain/53a3ad57a06b5709b3bd356ccdcb2a97d4acee81..7ea9ce2be26022ace385842dd14ef8c21c105fb6:/lib.c diff --git a/lib.c b/lib.c index 08616a7..69532e8 100644 --- a/lib.c +++ b/lib.c @@ -6,32 +6,30 @@ void set_prog(const char *p) { const char *q = strrchr(p, '/'); prog = q ? q + 1 : p; } void vmoan(const char *fmt, va_list ap) - { fprintf(stderr, "%s: ", prog); vfprintf(stderr, fmt, ap); } + { vmoan_syserr(0, fmt, ap); } -void moan(const char *fmt, ...) +void vmoan_syserr(int err, const char *fmt, va_list ap) { - va_list ap; - - va_start(ap, fmt); vmoan(fmt, ap); va_end(ap); + fprintf(stderr, "%s: ", prog); + vfprintf(stderr, fmt, ap); + if (err) fprintf(stderr, ": %s", strerror(errno)); fputc('\n', stderr); } -void bail(const char *fmt, ...) -{ - va_list ap; +void moan(const char *fmt, ...) + { va_list ap; va_start(ap, fmt); vmoan(fmt, ap); va_end(ap); } - va_start(ap, fmt); vmoan(fmt, ap); va_end(ap); - fputc('\n', stderr); - exit(2); -} +void moan_syserr(int err, const char *fmt, ...) + { va_list ap; va_start(ap, fmt); vmoan_syserr(err, fmt, ap); va_end(ap); } + +void bail(const char *fmt, ...) + { va_list ap; va_start(ap, fmt); vmoan(fmt, ap); va_end(ap); exit(2); } void bail_syserr(int err, const char *fmt, ...) { va_list ap; - va_start(ap, fmt); vmoan(fmt, ap); va_end(ap); - if (err) fprintf(stderr, ": %s", strerror(errno)); - fputc('\n', stderr); + va_start(ap, fmt); vmoan_syserr(err, fmt, ap); va_end(ap); exit(2); }