aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/sysutils.c22
-rw-r--r--common/sysutils.h2
2 files changed, 24 insertions, 0 deletions
diff --git a/common/sysutils.c b/common/sysutils.c
index 2bacae2ea..2e39d4737 100644
--- a/common/sysutils.c
+++ b/common/sysutils.c
@@ -2007,3 +2007,25 @@ open_stream_nc (gnupg_fd_t fd, const char *mode)
return es_sysopen_nc (&syshd, mode);
}
+
+
+/* Debug helper to track down problems with logging under Windows. */
+void
+output_debug_string (const char *format, ...)
+{
+#ifdef HAVE_W32_SYSTEM
+ char *buf;
+ va_list arg_ptr;
+
+ va_start (arg_ptr, format);
+ buf = gpgrt_vbsprintf (format, arg_ptr);
+ va_end (arg_ptr);
+ if (buf)
+ OutputDebugStringA (buf);
+ else
+ OutputDebugStringA ("vbsprintf failed");
+ gpgrt_free (buf);
+#else
+ (void)format;
+#endif
+}
diff --git a/common/sysutils.h b/common/sysutils.h
index 9a90d1018..c832c7932 100644
--- a/common/sysutils.h
+++ b/common/sysutils.h
@@ -121,6 +121,8 @@ int gnupg_inotify_has_name (int fd, const char *name);
estream_t open_stream_nc (gnupg_fd_t fd, const char *mode);
+void output_debug_string (const char *format, ...) GPGRT_ATTR_PRINTF(1,2);
+
#ifdef HAVE_W32_SYSTEM
int gnupg_w32_set_errno (int ec);
void *w32_get_user_sid (void);