diff options
author | wdenk <wdenk> | 2000-10-11 22:04:29 (GMT) |
---|---|---|
committer | wdenk <wdenk> | 2000-10-11 22:04:29 (GMT) |
commit | 3ba686544ff0838d5fd977952348d8088b9c69c1 (patch) | |
tree | 159ad43ef6888075d4a466309bbd89afed6f4180 /tools/gdb/error.c | |
parent | b15cbc0be004d352d4dd661546847bd52fbf8a28 (diff) | |
download | u-boot-fsl-qoriq-3ba686544ff0838d5fd977952348d8088b9c69c1.tar.xz |
Initial revision
Diffstat (limited to 'tools/gdb/error.c')
-rw-r--r-- | tools/gdb/error.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tools/gdb/error.c b/tools/gdb/error.c new file mode 100644 index 0000000..aea2901 --- /dev/null +++ b/tools/gdb/error.c @@ -0,0 +1,58 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <errno.h> +#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); +} |