On Fri, May 13, 2016 at 14:32:04 +0200, Michal Privoznik wrote:
Instead of introducing our own wrapper for dlsym()
we can use the one provided by virmock.h.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/nssmock.c | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/tests/nssmock.c b/tests/nssmock.c
index 31b1177..ee1d948 100644
--- a/tests/nssmock.c
+++ b/tests/nssmock.c
@@ -21,21 +21,18 @@
#include <config.h>
#ifdef NSS
-# include <stdio.h>
-# include <stdlib.h>
-# include <dlfcn.h>
+# include "virmock.h"
This one is good, but ...
# include <sys/types.h>
# include <dirent.h>
# include <sys/stat.h>
# include <fcntl.h>
# include "configmake.h"
-# include "internal.h"
# include "virstring.h"
# include "viralloc.h"
-static int (*realopen)(const char *path, int flags, ...);
-static DIR * (*realopendir)(const char *name);
+static int (*real_open)(const char *path, int flags, ...);
+static DIR * (*real_opendir)(const char *name);
# define LEASEDIR LOCALSTATEDIR "/lib/libvirt/dnsmasq/"
@@ -59,17 +56,11 @@ static DIR * (*realopendir)(const char *name);
static void
init_syms(void)
{
- if (realopen)
+ if (real_open)
return;
-# define LOAD_SYM(name) \
- do { \
- if (!(real ## name = dlsym(RTLD_NEXT, #name))) \
- ABORT("Cannot find real '%s' symbol\n", #name);
\
- } while (0)
With this you can also kill ABORT_OOM, ABORT and STDERR macros.
ACK ^^