aboutsummaryrefslogtreecommitdiffstats
path: root/common/logging.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-11-27 14:00:25 +0000
committerWerner Koch <[email protected]>2017-11-27 14:00:25 +0000
commitb56dfdfc1865ceb7c3c025d79996e049faee7fdf (patch)
tree60349bcb51ed47c3c5ed158740df1c245d187939 /common/logging.c
parentMerge branch 'STABLE-BRANCH-2-2' (diff)
downloadgnupg-b56dfdfc1865ceb7c3c025d79996e049faee7fdf.tar.gz
gnupg-b56dfdfc1865ceb7c3c025d79996e049faee7fdf.zip
Use the gpgrt log functions if possible.
* common/logging.c: Do not build any code if we can use the gpgrt_log functions. (log_logv_with_prefix): Rename to log_logv_prefix and change order of args so that this function matches its printf like counterpart gpgrt_logv_prefix. Change all callers. (log_debug_with_string): Rename to log_debug_string. Change all callers. (log_printhex): Move first arg to end so that this function matches its printf like counterpart gpgrt_log_printhex. Change all callers. * common/logging.h: Divert to gpgrt/libgpg-error if we can use the gpgrt_log functions. (bug_at): Add inline versions if we can use the gpgrt_log functions. * configure.ac (GPGRT_ENABLE_LOG_MACROS): Add to AH_BOTTOM. (mycflags): Add -Wno-format-zero-length. -- This patch enables the use of the log function from libgpgrt (aka libgpg-error). Instead of checking a version number, we enable them depending on macros set by recent gpg-error versions. Eventually the whole divert stuff can be removed. The -Wno-format-zero-length is required because log_printhex can be called with an empty format string. Note that this is fully specified standard C behaviour. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'common/logging.c')
-rw-r--r--common/logging.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/common/logging.c b/common/logging.c
index 9f04a69de..88860e715 100644
--- a/common/logging.c
+++ b/common/logging.c
@@ -63,6 +63,10 @@
#include "logging.h"
#include "sysutils.h"
+#if defined(GPGRT_ENABLE_LOG_MACROS) && defined(log_debug_string)
+ /* Nothing to do; the libgpgrt functions are used. */
+#else /* Use our own logging functions. */
+
#ifdef HAVE_W32_SYSTEM
# ifndef S_IRWXG
# define S_IRGRP S_IRUSR
@@ -885,7 +889,7 @@ log_logv (int level, const char *fmt, va_list arg_ptr)
* Note that PREFIX is an additional string and independent of the
* prefix set by log_set_prefix. */
void
-log_logv_with_prefix (int level, const char *prefix,
+log_logv_prefix (int level, const char *prefix,
const char *fmt, va_list arg_ptr)
{
do_logv (level, 0, NULL, prefix, fmt, arg_ptr);
@@ -977,7 +981,7 @@ log_debug (const char *fmt, ...)
* printed with LFs expanded to include the prefix and a final --end--
* marker. */
void
-log_debug_with_string (const char *string, const char *fmt, ...)
+log_debug_string (const char *string, const char *fmt, ...)
{
va_list arg_ptr ;
@@ -1011,7 +1015,7 @@ log_flush (void)
dump, with TEXT just an empty string, print a trailing linefeed,
otherwise print an entire debug line. */
void
-log_printhex (const char *text, const void *buffer, size_t length)
+log_printhex (const void *buffer, size_t length, const char *text)
{
if (text && *text)
log_debug ("%s ", text);
@@ -1113,3 +1117,5 @@ _log_assert (const char *expr, const char *file, int line)
abort (); /* Never called; just to make the compiler happy. */
}
#endif /*!GPGRT_HAVE_MACRO_FUNCTION*/
+
+#endif /* Use our own logging functions. */