
Quoting Eric Blake (eblake@redhat.com):
On 05/03/2012 11:55 AM, Stefan Berger wrote:
+#ifdef HAVE_LIBNL1 +#define nl_alloc nl_handle_alloc +#define nl_free nl_handle_destroy +typedef struct nl_handle nlhandle_t; +#else +#define nl_alloc nl_socket_alloc +#define nl_free nl_socket_free +typedef struct nl_sock nlhandle_t; +#endif +
I would not #define in the namespace of that library (nl_*).
Agreed that a vir* namespace is safer.
What about the following:
#ifdef HAVE_LIBNL1
static struct nl_handle * virNLHandleAlloc(void) { return nl_handle_alloc(); }
One further:
typedef struct nl_handle virNLHandle;
static virNLHandle * virNLHandleAlloc(void) ...
so that the rest of the code is indeed isolated into virNL wrappers with no additional #ifdefs.
Yup, I like it, thanks guys. I don't know whether I'll have time to send a new patch tomorrow. If not I'll aim to write one over the weekend, but if someone else wants to make the (somewhat trivial) updates I won't feel upstaged :) thanks, -serge