From a2306446c86b3333e69b082e41ae76ba71a42d9d Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Thu, 24 Mar 2011 13:57:13 -0700 Subject: Optimize common objects, and adjust other objects accordingly. Major changes still need to be made to each of the servers. --- src/common/nullpo.c | 56 ++++++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 39 deletions(-) (limited to 'src/common/nullpo.c') 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 #include #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ログをファイルに書き出せたら - // まとめて提出できるなと思っていたり。 } -- cgit v1.2.3-70-g09d2