lazysphere/lib/error.c
2023-05-14 21:43:02 -04:00

54 lines
959 B
C

#include "lslib.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
extern char* cmd;
void die (void) {
exit (EXIT_FAILURE);
}
void error_s(const char *format, ...) {
va_list list;
va_start(list, format);
fprintf(stderr, "%s: ", cmd);
vfprintf(stderr, format, list);
if (errno != 0) {
fprintf(stderr, ": %s", strerror(errno));
errno = 0;
}
fprintf(stderr, "\n");
}
void error(const char *format, ...) {
va_list list;
va_start(list, format);
fprintf(stderr, "%s: ", cmd);
vfprintf(stderr, format, list);
if (errno != 0) {
fprintf(stderr, ": %s", strerror(errno));
errno = 0;
}
fprintf(stderr, "\n");
die();
}
void output(const char *format, ...) {
va_list list;
va_start(list, format);
fprintf(stdout, "%s: ", cmd);
vfprintf(stdout, format, list);
fprintf(stdout, "\n");
}