summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick McDermott <patrick.mcdermott@libiquity.com>2021-03-15 13:33:05 (EDT)
committer Patrick McDermott <patrick.mcdermott@libiquity.com>2021-03-15 13:33:05 (EDT)
commit573eb2630762b1336efaba3f0df4eec415970c20 (patch)
tree211a3ba88ad7a38edd18fbe9e1622cad0a474f99 /src
parent178bc421c49d8914c624ada5291ecc63c2e69de3 (diff)
downloaddodge-balls-573eb2630762b1336efaba3f0df4eec415970c20.zip
dodge-balls-573eb2630762b1336efaba3f0df4eec415970c20.tar.gz
dodge-balls-573eb2630762b1336efaba3f0df4eec415970c20.tar.bz2
src/logging.[ch]: New files
Copied from boukengine.
Diffstat (limited to 'src')
-rw-r--r--src/local.mk2
-rw-r--r--src/logging.c61
-rw-r--r--src/logging.h26
3 files changed, 89 insertions, 0 deletions
diff --git a/src/local.mk b/src/local.mk
index ba1cd3e..7576fee 100644
--- a/src/local.mk
+++ b/src/local.mk
@@ -1,2 +1,4 @@
dodge_balls_SOURCES += \
+ %reldir%/logging.c \
+ %reldir%/logging.h \
%reldir%/main.c
diff --git a/src/logging.c b/src/logging.c
new file mode 100644
index 0000000..69a5cc3
--- /dev/null
+++ b/src/logging.c
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2013 Patrick "P. J." McDermott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "init.h"
+#include "logging.h"
+
+void
+debug(const char *fmt, ...)
+{
+ va_list ap;
+
+ printf("Debug: ");
+ va_start(ap, fmt);
+ vprintf(fmt, ap);
+ va_end(ap);
+ putchar('\n');
+}
+
+void
+warn(const char *fmt, ...)
+{
+ va_list ap;
+
+ printf("Warning: ");
+ va_start(ap, fmt);
+ vprintf(fmt, ap);
+ va_end(ap);
+ putchar('\n');
+}
+
+void
+err(int status, const char *fmt, ...)
+{
+ va_list ap;
+
+ printf("Error: ");
+ va_start(ap, fmt);
+ vprintf(fmt, ap);
+ va_end(ap);
+ putchar('\n');
+
+ quit(status);
+}
diff --git a/src/logging.h b/src/logging.h
new file mode 100644
index 0000000..12c9b00
--- /dev/null
+++ b/src/logging.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2013 Patrick "P. J." McDermott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef LOGGING_H
+#define LOGGING_H
+
+void debug(const char *fmt, ...);
+void warn(const char *fmt, ...);
+void err(int status, const char *fmt, ...);
+
+#endif