summaryrefslogtreecommitdiff
path: root/src/libstrongswan/utils/printf_hook
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/utils/printf_hook')
-rw-r--r--src/libstrongswan/utils/printf_hook/printf_hook_builtin.c16
-rw-r--r--src/libstrongswan/utils/printf_hook/printf_hook_glibc.c2
2 files changed, 8 insertions, 10 deletions
diff --git a/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c b/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
index d00abef20..c79d4b87a 100644
--- a/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
+++ b/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
@@ -122,10 +122,14 @@ size_t print_in_hook(printf_hook_data_t *data, char *fmt, ...)
if (written > data->n)
{
- written = data->n;
+ data->q += data->n;
+ data->n = 0;
+ }
+ else
+ {
+ data->q += written;
+ data->n -= written;
}
- data->q += written;
- data->n += written;
return written;
}
@@ -725,12 +729,6 @@ int builtin_vsnprintf(char *buffer, size_t n, const char *format, va_list ap)
switch (ch)
{
- case 'P':
- {
- /* Upper case pointer */
- flags |= FL_UPPER;
- /* fall through */
- }
case 'p':
{
/* Pointer */
diff --git a/src/libstrongswan/utils/printf_hook/printf_hook_glibc.c b/src/libstrongswan/utils/printf_hook/printf_hook_glibc.c
index 8fd1aed4a..5efe1d990 100644
--- a/src/libstrongswan/utils/printf_hook/printf_hook_glibc.c
+++ b/src/libstrongswan/utils/printf_hook/printf_hook_glibc.c
@@ -19,10 +19,10 @@
#include <utils/utils.h>
#include <utils/debug.h>
-#include <printf.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
+#include <printf.h>
typedef struct private_printf_hook_t private_printf_hook_t;
typedef struct printf_hook_handler_t printf_hook_handler_t;