aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-03-27 00:04:40 +0800
committerHarald Welte <laforge@gnumonks.org>2010-03-27 00:04:40 +0800
commita3b844cf45dc4d6a6a3686e8ce6e2447643b878e (patch)
treefca3e832b3ace59581cf64aac9504d9fdae1d7c1
parent01fd5cb3f0da802ca82d3b6aef46d2a3d8e6c15c (diff)
logging: only compile stderr target if we actualy have stderr
-rw-r--r--src/logging.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/logging.c b/src/logging.c
index ea03d30..7c50877 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -307,11 +307,14 @@ void log_set_category_filter(struct log_target *target, int category,
target->categories[category].loglevel = level;
}
+/* since C89/C99 says stderr is a macro, we can safely do this! */
+#ifdef stderr
static void _stderr_output(struct log_target *target, const char *log)
{
fprintf(target->tgt_stdout.out, "%s", log);
fflush(target->tgt_stdout.out);
}
+#endif
struct log_target *log_target_create(void)
{
@@ -342,6 +345,8 @@ struct log_target *log_target_create(void)
struct log_target *log_target_create_stderr(void)
{
+/* since C89/C99 says stderr is a macro, we can safely do this! */
+#ifdef stderr
struct log_target *target;
target = log_target_create();
@@ -351,6 +356,9 @@ struct log_target *log_target_create_stderr(void)
target->tgt_stdout.out = stderr;
target->output = _stderr_output;
return target;
+#else
+ return NULL;
+#endif /* stderr */
}
void log_init(const struct log_info *cat)