From 3ba686544ff0838d5fd977952348d8088b9c69c1 Mon Sep 17 00:00:00 2001 From: wdenk Date: Wed, 11 Oct 2000 22:04:29 +0000 Subject: Initial revision --- tools/gdb/error.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tools/gdb/error.c (limited to 'tools/gdb/error.c') diff --git a/tools/gdb/error.c b/tools/gdb/error.c new file mode 100644 index 0000000000..aea2901114 --- /dev/null +++ b/tools/gdb/error.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include "error.h" + +char *pname; + +void +Warning(char *fmt, ...) +{ + va_list args; + + fprintf(stderr, "%s: WARNING: ", pname); + + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); + + fprintf(stderr, "\n"); +} + +void +Error(char *fmt, ...) +{ + va_list args; + + fprintf(stderr, "%s: ERROR: ", pname); + + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); + + fprintf(stderr, "\n"); + + exit(1); +} + +void +Perror(char *fmt, ...) +{ + va_list args; + int e = errno; + char *p; + + fprintf(stderr, "%s: ERROR: ", pname); + + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); + + if ((p = strerror(e)) == NULL || *p == '\0') + fprintf(stderr, ": Unknown Error (%d)\n", e); + else + fprintf(stderr, ": %s\n", p); + + exit(1); +} -- cgit v1.2.3