aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-09-27 11:16:11 +0200
committerMartin Willi <martin@revosec.ch>2013-10-11 11:06:09 +0200
commit7e6a4cdc84c4a5a32f409245209d13828fe8167d (patch)
treecd6f409bf1505781d75f8804d8df1242f38afcdb /src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
parentcabe5c0ff40f3a67d0d091d1bfdc2948b203737d (diff)
downloadstrongswan-7e6a4cdc84c4a5a32f409245209d13828fe8167d.tar.bz2
strongswan-7e6a4cdc84c4a5a32f409245209d13828fe8167d.tar.xz
printf-hook-builtin: Support GNU %m specifier
Diffstat (limited to 'src/libstrongswan/utils/printf_hook/printf_hook_builtin.c')
-rw-r--r--src/libstrongswan/utils/printf_hook/printf_hook_builtin.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c b/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
index 5f4907979..1c266d454 100644
--- a/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
+++ b/src/libstrongswan/utils/printf_hook/printf_hook_builtin.c
@@ -46,6 +46,7 @@
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
+#include <errno.h>
#define PRINTF_BUF_LEN 8192
#define ARGS_MAX 3
@@ -682,6 +683,13 @@ int builtin_vsnprintf(char *buffer, size_t n, const char *format, va_list ap)
slen = strlen(sarg);
goto is_string;
}
+ case 'm':
+ {
+ /* glibc error string */
+ sarg = strerror(errno);
+ slen = strlen(sarg);
+ goto is_string;
+ }
is_string:
{
char sch;