lazysphere/lib/error.c

55 lines
959 B
C
Raw Permalink Normal View History

2023-05-15 01:43:02 +00:00
#include "lslib.h"
2023-05-06 04:39:44 +00:00
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
2023-05-15 01:43:02 +00:00
#include <errno.h>
#include <string.h>
2023-05-06 04:39:44 +00:00
extern char* cmd;
2023-05-15 01:43:02 +00:00
void die (void) {
exit (EXIT_FAILURE);
}
2023-05-06 04:39:44 +00:00
void error_s(const char *format, ...) {
va_list list;
va_start(list, format);
fprintf(stderr, "%s: ", cmd);
vfprintf(stderr, format, list);
2023-05-15 01:43:02 +00:00
if (errno != 0) {
fprintf(stderr, ": %s", strerror(errno));
errno = 0;
}
2023-05-06 04:39:44 +00:00
fprintf(stderr, "\n");
}
void error(const char *format, ...) {
va_list list;
va_start(list, format);
fprintf(stderr, "%s: ", cmd);
vfprintf(stderr, format, list);
2023-05-15 01:43:02 +00:00
if (errno != 0) {
fprintf(stderr, ": %s", strerror(errno));
errno = 0;
}
2023-05-06 04:39:44 +00:00
fprintf(stderr, "\n");
2023-05-15 01:43:02 +00:00
die();
2023-05-06 04:39:44 +00:00
}
void output(const char *format, ...) {
va_list list;
va_start(list, format);
fprintf(stdout, "%s: ", cmd);
vfprintf(stdout, format, list);
fprintf(stdout, "\n");
}