From c4b76d7b19cf48ddbcbe913c22ef7f1e8429f5ea Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Wed, 18 Jul 2012 19:35:30 +0200 Subject: [PATCH] Rename sk_new() to avoid name collision with OpenSSL. --- lib/socket.h | 4 +++- sysdep/unix/io.c | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/socket.h b/lib/socket.h index b0c3eda2..0ee43b52 100644 --- a/lib/socket.h +++ b/lib/socket.h @@ -48,7 +48,9 @@ typedef struct birdsock { char *password; /* Password for MD5 authentication */ } sock; -sock *sk_new(pool *); /* Allocate new socket */ +sock *sock_new(pool *); /* Allocate new socket */ +#define sk_new(X) sock_new(X) /* Wrapper to avoid name collision with OpenSSL */ + int sk_open(sock *); /* Open socket */ int sk_send(sock *, unsigned len); /* Send data, <0=err, >0=ok, 0=sleep */ int sk_send_to(sock *, unsigned len, ip_addr to, unsigned port); /* sk_send to given destination */ diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 475d660c..f91b5278 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -588,9 +588,12 @@ static struct resclass sk_class = { * This function creates a new socket resource. If you want to use it, * you need to fill in all the required fields of the structure and * call sk_open() to do the actual opening of the socket. + * + * The real function name is sock_new(), sk_new() is a macro wrapper + * to avoid collision with OpenSSL. */ sock * -sk_new(pool *p) +sock_new(pool *p) { sock *s = ralloc(p, &sk_class); s->pool = p;