main wf/howl / src / log.c
 1#include <stdio.h>
 2#include <stdlib.h>
 3#include <stdarg.h>
 4
 5#include <swc.h>
 6#include <wayland-server.h>
 7
 8#include "howl.h"
 9#include "types.h"
10
11extern struct wm wm;
12
13void
14_inf(const char *msg, ...) {
15	va_list list;
16
17	fprintf(stdout, "\033[92mINFO\033[0m: ");
18
19	va_start(list, msg);
20	vfprintf(stdout, msg, list);
21	va_end(list);
22
23	fputc('\n', stdout);
24	fflush(stdout);
25}
26
27void
28_wrn(const char *msg, ...) {
29	va_list list;
30
31	fprintf(stderr, "\033[93mWARN\033[0m: ");
32
33	va_start(list, msg);
34	vfprintf(stderr, msg, list);
35	va_end(list);
36
37	fputc('\n', stderr);
38	fflush(stderr);
39}
40
41void
42_err(int ret, const char *msg, ...) {
43	va_list list;
44
45	fprintf(stderr, "\033[91mFATAL\033[0m: ");
46
47	va_start(list, msg);
48	vfprintf(stderr, msg, list);
49	va_end(list);
50
51	fputc('\n', stderr);
52	fflush(stderr);
53
54	wm.running = false;
55	if (wm.dpy) {
56		swc_finalize();
57		wl_display_terminate(wm.dpy);
58	}
59	exit(ret);
60}