// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-FileCopyrightText: 2020-2021 Alyssa Ross #define _GNU_SOURCE #include "log.h" #include #include #include enum verbosity verbosity = errors; bool set_verbosity(int opt) { switch (opt) { case 'q': verbosity = nothing; return true; case 'Q': verbosity = errors; return true; case 'v': verbosity = all; return true; } return false; } void veloge(const char *fmt, va_list args) { if (verbosity) vwarn(fmt, args); } void velog(const char *fmt, va_list args) { if (verbosity) vwarnx(fmt, args); } void elog(const char *fmt, ...) { va_list ap; va_start(ap, fmt); velog(fmt, ap); va_end(ap); } void vilog(const char *fmt, va_list args) { if (verbosity == all) vwarnx(fmt, args); } void ilog(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vilog(fmt, ap); va_end(ap); } void die(int eval, const char *fmt, ...) { va_list ap; va_start(ap, fmt); velog(fmt, ap); va_end(ap); exit(eval); } void diee(int eval, const char *fmt, ...) { va_list ap; va_start(ap, fmt); veloge(fmt, ap); va_end(ap); exit(eval); }