summaryrefslogtreecommitdiff
path: root/src/common/nullpo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/nullpo.c')
-rw-r--r--src/common/nullpo.c56
1 files changed, 17 insertions, 39 deletions
diff --git a/src/common/nullpo.c b/src/common/nullpo.c
index 3205293..de10517 100644
--- a/src/common/nullpo.c
+++ b/src/common/nullpo.c
@@ -2,21 +2,17 @@
#include <stdarg.h>
#include <string.h>
#include "nullpo.h"
-// #include "logs.h" // 布石してみる
static void nullpo_info_core (const char *file, int line, const char *func,
const char *fmt, va_list ap);
-/*======================================
- * Nullチェック 及び 情報出力
- *--------------------------------------
- */
-int nullpo_chk_f (const char *file, int line, const char *func,
- const void *target, const char *fmt, ...)
+/// 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 != NULL)
+ if (target)
return 0;
va_start (ap, fmt);
@@ -24,21 +20,17 @@ int nullpo_chk_f (const char *file, int line, const char *func,
va_end (ap);
return 1;
}
-
-int nullpo_chk (const char *file, int line, const char *func,
- const void *target)
+bool nullpo_chk (const char *file, int line, const char *func,
+ const void *target)
{
- if (target != NULL)
+ if (target)
return 0;
nullpo_info_core (file, line, func, NULL, NULL);
return 1;
}
-/*======================================
- * nullpo情報出力(外部呼出し向けラッパ)
- *--------------------------------------
- */
+/// External functions
void nullpo_info_f (const char *file, int line, const char *func,
const char *fmt, ...)
{
@@ -48,39 +40,25 @@ void nullpo_info_f (const char *file, int line, const char *func,
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, NULL, NULL);
}
-/*======================================
- * nullpo情報出力(Main)
- *--------------------------------------
- */
+/// Actual output function
static void nullpo_info_core (const char *file, int line, const char *func,
const char *fmt, va_list ap)
{
- if (file == NULL)
+ if (!file)
file = "??";
+ if (!func || !*func)
+ func = "unknown";
- func = func == NULL ? "unknown" : func[0] == '\0' ? "unknown" : func;
-
- printf ("--- nullpo info --------------------------------------------\n");
- printf ("%s:%d: in func `%s'\n", file, line, func);
- if (fmt != NULL)
+ fprintf (stderr, "%s:%d: in func `%s': NULL pointer\n", file, line, func);
+ if (fmt && *fmt)
{
- if (fmt[0] != '\0')
- {
- vprintf (fmt, ap);
-
- // 最後に改行したか確認
- if (fmt[strlen (fmt) - 1] != '\n')
- printf ("\n");
- }
+ vfprintf (stderr, fmt, ap);
+ if (fmt[strlen (fmt) - 1] != '\n')
+ fputc('\n', stderr);
}
- printf ("--- end nullpo info ----------------------------------------\n");
-
- // ここらでnullpoログをファイルに書き出せたら
- // まとめて提出できるなと思っていたり。
}