summaryrefslogtreecommitdiff
path: root/src/compat/nullpo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/compat/nullpo.cpp')
-rw-r--r--src/compat/nullpo.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/compat/nullpo.cpp b/src/compat/nullpo.cpp
new file mode 100644
index 0000000..423ed8c
--- /dev/null
+++ b/src/compat/nullpo.cpp
@@ -0,0 +1,28 @@
+#include "nullpo.hpp"
+
+#include <cstdio>
+
+#include "../poison.hpp"
+
+/// Actual output function
+static
+void nullpo_info(const char *file, int line, const char *func)
+{
+ if (!file)
+ file = "??";
+ if (!func || !*func)
+ func = "unknown";
+
+ fprintf(stderr, "%s:%d: in func `%s': NULL pointer\n",
+ file, line, func);
+}
+
+bool nullpo_chk(const char *file, int line, const char *func,
+ const void *target)
+{
+ if (target)
+ return 0;
+
+ nullpo_info(file, line, func);
+ return 1;
+}