diff options
author | Marcus Brinkmann <[email protected]> | 2010-04-20 01:11:35 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2010-04-20 01:11:35 +0000 |
commit | 0e960d940a3b52406bb72af2750b6b6d29e39067 (patch) | |
tree | f1836dba3a919ea6bd59a94fa6397f461ef222be /common/logging.c | |
parent | Fixed dependencies and a syntax error (diff) | |
download | gnupg-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.c | 24 |
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); } |