diff options
Diffstat (limited to 'src/common/nullpo.cpp')
-rw-r--r-- | src/common/nullpo.cpp | 69 |
1 files changed, 13 insertions, 56 deletions
diff --git a/src/common/nullpo.cpp b/src/common/nullpo.cpp index 67c839f..423ed8c 100644 --- a/src/common/nullpo.cpp +++ b/src/common/nullpo.cpp @@ -1,71 +1,28 @@ -#include <stdio.h> -#include <stdarg.h> -#include <string.h> #include "nullpo.hpp" -static void nullpo_info_core (const char *file, int line, const char *func); -__attribute__((format(printf, 4, 0))) -static void nullpo_info_core (const char *file, int line, const char *func, - const char *fmt, va_list ap); +#include <cstdio> -/// Null check and print format -bool nullpo_chk_f (const char *file, int line, const char *func, - const void *target, const char *fmt, ...) -{ - va_list ap; - - if (target) - return 0; - - va_start (ap, fmt); - nullpo_info_core (file, line, func, fmt, ap); - va_end (ap); - return 1; -} -bool nullpo_chk (const char *file, int line, const char *func, - const void *target) -{ - if (target) - return 0; - - nullpo_info_core (file, line, func); - return 1; -} - -/// External functions -void nullpo_info_f (const char *file, int line, const char *func, - const char *fmt, ...) -{ - va_list ap; - - va_start (ap, fmt); - nullpo_info_core (file, line, func, fmt, ap); - va_end (ap); -} -void nullpo_info (const char *file, int line, const char *func) -{ - nullpo_info_core (file, line, func); -} +#include "../poison.hpp" /// Actual output function -static void nullpo_info_core (const char *file, int line, const char *func) +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); + fprintf(stderr, "%s:%d: in func `%s': NULL pointer\n", + file, line, func); } -static void nullpo_info_core (const char *file, int line, const char *func, - const char *fmt, va_list ap) +bool nullpo_chk(const char *file, int line, const char *func, + const void *target) { - nullpo_info_core(file, line, func); - if (fmt && *fmt) - { - vfprintf (stderr, fmt, ap); - if (fmt[strlen (fmt) - 1] != '\n') - fputc('\n', stderr); - } + if (target) + return 0; + + nullpo_info(file, line, func); + return 1; } |