aboutsummaryrefslogtreecommitdiff
path: root/src/common.h
blob: f67af2243bf1a54d79e41a19afd4b8f6cbdd4976 (plain)
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
30
#ifndef COMMON_H
#define COMMON_H

#include <stdio.h>
#include <stdlib.h>

#define __RED__    "\033[0;31m"
#define __GREEN__  "\033[0;32m"
#define __YELLOW__ "\033[0;33m"
#define __RESET__  "\033[0m"

#define STR(x) #x
#define XSTR(x) STR(x)

#define info(...) do { fprintf(stdout, __GREEN__"[INFO]"__RESET__"  "__VA_ARGS__); fprintf(stdout, "\n"); } while(0)
#define err(...)  do { fprintf(stderr, __RED__"[ERROR]"__RESET__" "__FILE__":"XSTR(__LINE__)": "__VA_ARGS__); fprintf(stderr, "\n"); }while(0)
#define warn(...) do { fprintf(stderr, __YELLOW__"[WARN]"__RESET__"  "__FILE__":"XSTR(__LINE__)": "__VA_ARGS__); fprintf(stderr, "\n"); }while(0)
// #define info(...) printf(__VA_ARGS__);
// #define err(...)  printf(__VA_ARGS__);

#define die(...) do {     \
        err(__VA_ARGS__); \
        abort();          \
    } while(0)

void *xmalloc(size_t size);
void *xcalloc(size_t nmemb, size_t size);
void *xrealloc(void *ptr, size_t size);

#endif