#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
#include <stdlib.h>
#include "errormsg.h"
extern char progname[];
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);
}
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);
}
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);
}