diff options
Diffstat (limited to 'Build/source/texk/ttf2pk/errormsg.c')
-rw-r--r-- | Build/source/texk/ttf2pk/errormsg.c | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/Build/source/texk/ttf2pk/errormsg.c b/Build/source/texk/ttf2pk/errormsg.c new file mode 100644 index 00000000000..28233a8bbf4 --- /dev/null +++ b/Build/source/texk/ttf2pk/errormsg.c @@ -0,0 +1,100 @@ +/* + * errormsg.c + * + * This file is part of the ttf2pk package. + * + * Copyright 1997-1999, 2000, 2002 by + * Frederic Loyer <loyer@ensta.fr> + * Werner Lemberg <wl@gnu.org> + */ + +#include <stdio.h> +#include <stddef.h> /* for size_t */ +#include <stdarg.h> +#include <stdlib.h> + +#include "errormsg.h" + +#ifdef MIKTEX +#include <miktex.h> +#endif + + +extern char progname[]; /* the origin of the error/warning message */ + + +/* + * Print error message and quit. + */ + +void +oops(const char *message, + ...) +{ + va_list args; + + + va_start(args, message); + fprintf(stderr, "%s: ERROR: ", progname); + vfprintf(stderr, message, args); + va_end(args); + putc('\n', stderr); + + exit(1); +} + + +/* + * Print error message, a buffer, a '^' at the buffer offset, and quit. + */ + +void +boops(const char *buffer, + size_t offset, + const char *message, + ...) +{ + va_list args; + + + va_start(args, message); + fprintf(stderr, "%s: ERROR: ", progname); + vfprintf(stderr, message, args); + va_end(args); + putc('\n', stderr); + + if (*buffer) + { + fprintf(stderr, "%s\n", buffer); + while (offset) + { + fprintf(stderr, " "); + offset--; + } + fprintf(stderr, "^\n"); + } + + exit(1); +} + + +/* + * Print warning message and continue. + */ + +void +warning(const char *message, + ...) +{ + va_list args; + + + va_start(args, message); + fprintf(stderr, "%s: WARNING: ", progname); + vfprintf(stderr, message, args); + va_end(args); + putc('\n', stderr); +} + + +/* end */ |