aboutsummaryrefslogtreecommitdiffstats
path: root/common/logging.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2010-04-20 01:11:35 +0000
committerMarcus Brinkmann <[email protected]>2010-04-20 01:11:35 +0000
commit0e960d940a3b52406bb72af2750b6b6d29e39067 (patch)
treef1836dba3a919ea6bd59a94fa6397f461ef222be /common/logging.c
parentFixed dependencies and a syntax error (diff)
downloadgnupg-0e960d940a3b52406bb72af2750b6b6d29e39067.tar.gz
gnupg-0e960d940a3b52406bb72af2750b6b6d29e39067.zip
common/
2010-04-20 Marcus Brinkmann <[email protected]> * logging.c (do_log_ignore_arg): New helper function. (log_string): Use it to remove ugly volatile hack that causes gcc warning. (log_flush): Likewise. * sysutils.c (gnupg_unsetenv) [!HAVE_W32CE_SYSTEM]: Return something. (gnupg_setenv) [!HAVE_W32CE_SYSTEM]: Likewise. * pka.c (get_pka_info): Solve strict aliasing rule violation. * t-exechelp.c (test_close_all_fds): Use dummy variables to silence gcc warning. kbx/ 2010-04-20 Marcus Brinkmann <[email protected]> * keybox-update.c [!HAVE_DOSISH_SYSTEM]: Include ../common/sysutils.h even then to silence gcc warning about missing declaration of gnupg_remove. tools/ 2010-04-20 Marcus Brinkmann <[email protected]> * gpgconf-comp.c (option_check_validity): Use dummy variables to silence gcc warning.
Diffstat (limited to '')
-rw-r--r--common/logging.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/common/logging.c b/common/logging.c
index 5641b71e7..f014d9fca 100644
--- a/common/logging.c
+++ b/common/logging.c
@@ -515,16 +515,23 @@ log_logv (int level, const char *fmt, va_list arg_ptr)
}
+static void
+do_log_ignore_arg (int level, const char *str, ...)
+{
+ va_list arg_ptr;
+ va_start (arg_ptr, str);
+ do_logv (level, 1, str, arg_ptr);
+ va_end (arg_ptr);
+}
+
+
void
log_string (int level, const char *string)
{
- /* We need to provide a dummy arg_ptr. volatile is needed to
- suppress compiler warnings. The static is required for gcc 4.4
- because it seems that it detects that a volatile automatic
- variable is not any good if not initialized. */
- static volatile va_list dummy_arg_ptr;
-
- do_logv (level, 1, string, dummy_arg_ptr);
+ /* We need a dummy arg_ptr, but there is no portable way to create
+ one. So we call the do_logv function through a variadic wrapper.
+ MB: Why not just use "%s"? */
+ do_log_ignore_arg (level, string);
}
@@ -604,8 +611,7 @@ log_printf (const char *fmt, ...)
void
log_flush (void)
{
- static volatile va_list dummy_arg_ptr;
- do_logv (JNLIB_LOG_CONT, 1, NULL, dummy_arg_ptr);
+ do_log_ignore_arg (JNLIB_LOG_CONT, NULL);
}