aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/library.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2009-03-12 18:07:32 +0000
committerTobias Brunner <tobias@strongswan.org>2009-03-12 18:07:32 +0000
commitd25ce3701e066121d2026b0dfd72a794f3bbee29 (patch)
treeaa4833262e49963746a430d2a07381986395aae4 /src/libstrongswan/library.c
parent9086102dfd4a9fe654af922d00bc5e5238547f21 (diff)
downloadstrongswan-d25ce3701e066121d2026b0dfd72a794f3bbee29.tar.bz2
strongswan-d25ce3701e066121d2026b0dfd72a794f3bbee29.tar.xz
printf hooks refactored to increase portability (i.e. support for platforms without glibc-compatible customizable printf - the Vstr string library is currently required on such platforms).
Diffstat (limited to 'src/libstrongswan/library.c')
-rw-r--r--src/libstrongswan/library.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/libstrongswan/library.c b/src/libstrongswan/library.c
index 6b9043b1a..da7b0fca7 100644
--- a/src/libstrongswan/library.c
+++ b/src/libstrongswan/library.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2009 Tobias Brunner
* Copyright (C) 2008 Martin Willi
* Hochschule fuer Technik Rapperswil
*
@@ -95,13 +96,24 @@ void library_init(char *settings)
pfh = printf_hook_create();
this->public.printf_hook = pfh;
- pfh->add_handler(pfh, 'b', mem_get_printf_hooks());
- pfh->add_handler(pfh, 'B', chunk_get_printf_hooks());
- pfh->add_handler(pfh, 'D', identification_get_printf_hooks());
- pfh->add_handler(pfh, 'H', host_get_printf_hooks());
- pfh->add_handler(pfh, 'N', enum_get_printf_hooks());
- pfh->add_handler(pfh, 'T', time_get_printf_hooks());
- pfh->add_handler(pfh, 'V', time_delta_get_printf_hooks());
+ pfh->add_handler(pfh, 'b', mem_printf_hook,
+ PRINTF_HOOK_ARGTYPE_POINTER, PRINTF_HOOK_ARGTYPE_INT,
+ PRINTF_HOOK_ARGTYPE_END);
+ pfh->add_handler(pfh, 'B', chunk_printf_hook,
+ PRINTF_HOOK_ARGTYPE_POINTER, PRINTF_HOOK_ARGTYPE_END);
+ pfh->add_handler(pfh, 'D', identification_printf_hook,
+ PRINTF_HOOK_ARGTYPE_POINTER, PRINTF_HOOK_ARGTYPE_END);
+ pfh->add_handler(pfh, 'H', host_printf_hook,
+ PRINTF_HOOK_ARGTYPE_POINTER, PRINTF_HOOK_ARGTYPE_END);
+ pfh->add_handler(pfh, 'N', enum_printf_hook,
+ PRINTF_HOOK_ARGTYPE_POINTER, PRINTF_HOOK_ARGTYPE_INT,
+ PRINTF_HOOK_ARGTYPE_END);
+ pfh->add_handler(pfh, 'T', time_printf_hook,
+ PRINTF_HOOK_ARGTYPE_POINTER, PRINTF_HOOK_ARGTYPE_INT,
+ PRINTF_HOOK_ARGTYPE_END);
+ pfh->add_handler(pfh, 'V', time_delta_printf_hook,
+ PRINTF_HOOK_ARGTYPE_POINTER, PRINTF_HOOK_ARGTYPE_POINTER,
+ PRINTF_HOOK_ARGTYPE_END);
this->public.crypto = crypto_factory_create();
this->public.creds = credential_factory_create();