aboutgitcodelistschat:MatrixIRC
path: root/common
diff options
context:
space:
mode:
authorAlice Frosi <afrosi@redhat.com>2023-03-24 17:05:07 +0100
committerAlice Frosi <afrosi@redhat.com>2023-03-24 17:05:07 +0100
commit8e3df79803e42e12148bfc6d5df675859ba3e122 (patch)
treef19a6adc202c3214193e96d8236ab8997dc2679b /common
parent5d136eeda392f99b2224cd8cf9273bd8ae8debe1 (diff)
downloadseitan-8e3df79803e42e12148bfc6d5df675859ba3e122.tar
seitan-8e3df79803e42e12148bfc6d5df675859ba3e122.tar.gz
seitan-8e3df79803e42e12148bfc6d5df675859ba3e122.tar.bz2
seitan-8e3df79803e42e12148bfc6d5df675859ba3e122.tar.lz
seitan-8e3df79803e42e12148bfc6d5df675859ba3e122.tar.xz
seitan-8e3df79803e42e12148bfc6d5df675859ba3e122.tar.zst
seitan-8e3df79803e42e12148bfc6d5df675859ba3e122.zip
Move util.h and util.c in common
Diffstat (limited to 'common')
-rw-r--r--common/util.c29
-rw-r--r--common/util.h22
2 files changed, 51 insertions, 0 deletions
diff --git a/common/util.c b/common/util.c
new file mode 100644
index 0000000..a2ecce0
--- /dev/null
+++ b/common/util.c
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+/* seitan - Syscall Expressive Interpreter, Transformer and Notifier
+ *
+ * cooker/util.c - Convenience routines
+ *
+ * Copyright 2023 Red Hat GmbH
+ * Author: Stefano Brivio <sbrivio@redhat.com>
+ */
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+
+#define logfn(name) \
+void name(const char *format, ...) { \
+ va_list args; \
+ \
+ va_start(args, format); \
+ (void)vfprintf(stderr, format, args); \
+ va_end(args); \
+ if (format[strlen(format)] != '\n') \
+ fprintf(stderr, "\n"); \
+}
+
+logfn(err)
+logfn(info)
+logfn(debug)
+
diff --git a/common/util.h b/common/util.h
new file mode 100644
index 0000000..84dc3db
--- /dev/null
+++ b/common/util.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-3.0-or-later
+ * Copyright 2023 Red Hat GmbH
+ * Author: Stefano Brivio <sbrivio@redhat.com>
+ */
+
+#ifndef UTIL_H
+#define UTIL_H
+
+#define BIT(n) (1UL << (n))
+
+void err(const char *format, ...);
+void info(const char *format, ...);
+void debug(const char *format, ...);
+
+#define die(...) \
+ do { \
+ fprintf(stderr, "%s:%i: ", __FILE__, __LINE__); \
+ err(__VA_ARGS__); \
+ exit(EXIT_FAILURE); \
+ } while (0)
+
+#endif /* UTIL_H */