diff options
author | Tomasz Kramkowski <tk@the-tk.com> | 2017-02-11 15:30:37 +0000 |
---|---|---|
committer | Tomasz Kramkowski <tk@the-tk.com> | 2017-02-11 15:30:37 +0000 |
commit | b8ede3c284299173f3981aa85dcbd16806a57f55 (patch) | |
tree | 31beb63b99f1840472da304de628e6114ba61f8e /log.c | |
parent | 99778c999c364ad3e5967f7a9a0a3e484c279716 (diff) | |
parent | 0fc0c19e4dc2b4ec2f175744e1ac468643b6da71 (diff) | |
download | hktool-b8ede3c284299173f3981aa85dcbd16806a57f55.tar.gz hktool-b8ede3c284299173f3981aa85dcbd16806a57f55.tar.xz hktool-b8ede3c284299173f3981aa85dcbd16806a57f55.zip |
Merge branch 'halfkay-error-handling'
Diffstat (limited to 'log.c')
-rw-r--r-- | log.c | 99 |
1 files changed, 0 insertions, 99 deletions
@@ -1,99 +0,0 @@ -/* log.c -- Error and warning messages. - * - * Copyright (C) 2016 Tomasz Kramkowski <tk@the-tk.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include <assert.h> -#include <stdarg.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "log.h" - -const char *argv0; - -void error(int errnum, const char *fmt, ...) -{ - assert(fmt); - - va_list va; - - fprintf(stderr, "%s: error: ", argv0); - - va_start(va, fmt); - vfprintf(stderr, fmt, va); - va_end(va); - - if (errnum) - fprintf(stderr, ": %s", strerror(errnum)); - - fputc('\n', stderr); - - exit(EXIT_FAILURE); -} - -void errorat(int errnum, const char *file, long line, const char *fmt, ...) -{ - assert(file && fmt); - - va_list va; - - fprintf(stderr, "%s:%s:%ld: error: ", argv0, file, line); - - va_start(va, fmt); - vfprintf(stderr, fmt, va); - va_end(va); - - if (errnum) - fprintf(stderr, ": %s", strerror(errnum)); - - fputc('\n', stderr); - - exit(EXIT_FAILURE); -} - -void warning(int errnum, const char *fmt, ...) -{ - va_list ap; - - fprintf(stderr, "%s: warning: ", argv0); - - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - - if (errnum) - fprintf(stderr, ": %s", strerror(errnum)); - - fputc('\n', stderr); -} - -void warningat(int errnum, const char *file, long line, const char *fmt, ...) -{ - va_list ap; - - fprintf(stderr, "%s:%s:%ld: warning: ", argv0, file, line); - - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - - if (errnum) - fprintf(stderr, ": %s", strerror(errnum)); - - fputc('\n', stderr); -} |