File size: 755 Bytes
120dee6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#pragma once
#define STRUCTURE(NAME, ...) \
typedef struct NAME NAME; struct NAME { __VA_ARGS__ }
#define HOLD() (void)fgetc(stdin);
#define LOG(FD, COLOR, ...) fprintf(FD, COLOR), fprintf(FD, "%s:%d: ", __FILE__, __LINE__), fprintf(FD, __VA_ARGS__), fprintf(FD, "\033[0m"), fflush(FD)
#define COMMENT(...) LOG(stdout, "\033[38;5;78m", __VA_ARGS__)
#define WARNING(...) LOG(stdout, "\033[38;5;208m", __VA_ARGS__), HOLD()
#define INFO(...) LOG(stdout, "\033[38;5;228m", __VA_ARGS__)
#define ERROR(...) { LOG(stderr, "\033[38;5;196m", __VA_ARGS__); exit(EXIT_FAILURE); }
#define CALLBACK_ON_FILE(FNAME, ...) \
if (FNAME != NULL) { __VA_ARGS__; } \
else WARNING("\"%s\" not set, skipping", #FNAME);
|