commit d444fd2e495bdea45ecbd6a80f735f6c80601f97 from: Omar Polo date: Wed Dec 21 10:36:17 2022 UTC configure: look for errc instead of err commit - 90e504337fba8846ec1b5ffa3e37f4454feb486a commit + d444fd2e495bdea45ecbd6a80f735f6c80601f97 blob - abe930fd1c8fdfb5d615f779712057195cad7781 (mode 644) blob + /dev/null --- compat/err.c +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2021 Omar Polo - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include -#include - -#include "compat.h" - -static void vwarn(const char*, va_list); -static void vwarnx(const char*, va_list); - -static void -vwarn(const char *fmt, va_list ap) -{ - fprintf(stderr, "%s: ", getprogname()); - vfprintf(stderr, fmt, ap); - fprintf(stderr, ": %s\n", strerror(errno)); -} - -static void -vwarnx(const char *fmt, va_list ap) -{ - fprintf(stderr, "%s: ", getprogname()); - vfprintf(stderr, fmt, ap); - fprintf(stderr, "\n"); -} - -void -err(int ret, const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - vwarn(fmt, ap); - va_end(ap); - exit(ret); -} - -void -errc(int ret, int code, const char *fmt, ...) -{ - va_list ap; - - errno = code; - - va_start(ap, fmt); - vwarn(fmt, ap); - va_end(ap); - exit(ret); -} - -void -errx(int ret, const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - vwarnx(fmt, ap); - va_end(ap); - exit(ret); -} - -void -warn(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - vwarn(fmt, ap); - va_end(ap); -} - -void -warnc(int code, const char *fmt, ...) -{ - va_list ap; - - errno = code; - - va_start(ap, fmt); - vwarn(fmt, ap); - va_end(ap); -} - -void -warnx(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - vwarnx(fmt, ap); - va_end(ap); -} blob - /dev/null blob + abe930fd1c8fdfb5d615f779712057195cad7781 (mode 644) --- /dev/null +++ compat/errc.c @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2021 Omar Polo + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include +#include +#include +#include + +#include "compat.h" + +static void vwarn(const char*, va_list); +static void vwarnx(const char*, va_list); + +static void +vwarn(const char *fmt, va_list ap) +{ + fprintf(stderr, "%s: ", getprogname()); + vfprintf(stderr, fmt, ap); + fprintf(stderr, ": %s\n", strerror(errno)); +} + +static void +vwarnx(const char *fmt, va_list ap) +{ + fprintf(stderr, "%s: ", getprogname()); + vfprintf(stderr, fmt, ap); + fprintf(stderr, "\n"); +} + +void +err(int ret, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vwarn(fmt, ap); + va_end(ap); + exit(ret); +} + +void +errc(int ret, int code, const char *fmt, ...) +{ + va_list ap; + + errno = code; + + va_start(ap, fmt); + vwarn(fmt, ap); + va_end(ap); + exit(ret); +} + +void +errx(int ret, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vwarnx(fmt, ap); + va_end(ap); + exit(ret); +} + +void +warn(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vwarn(fmt, ap); + va_end(ap); +} + +void +warnc(int code, const char *fmt, ...) +{ + va_list ap; + + errno = code; + + va_start(ap, fmt); + vwarn(fmt, ap); + va_end(ap); +} + +void +warnx(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + vwarnx(fmt, ap); + va_end(ap); +} blob - 727e0553f1f045a6b3bd2d71e154e40da229e35f blob + 571ca034bcdc4cd3fe674e365b2ee22c2dac58fe --- configure.ac +++ configure.ac @@ -54,7 +54,7 @@ fi AC_REPLACE_FUNCS([ asprintf \ - err \ + errc \ freezero \ getdtablecount \ getdtablesize \