aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/if2ip.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/lib/if2ip.c b/lib/if2ip.c
index 72fd0281f..9faa3b67a 100644
--- a/lib/if2ip.c
+++ b/lib/if2ip.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -64,6 +64,13 @@
#include "inet_ntop.h"
#include "strequal.h"
+#define _MPRINTF_REPLACE /* use our functions only */
+#include <curl/mprintf.h>
+
+#include "memory.h"
+/* The last #include file should be: */
+#include "memdebug.h"
+
char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size)
{
struct ifaddrs *iface, *head;
@@ -74,19 +81,20 @@ char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size)
if ((iface->ifa_addr->sa_family == af) &&
curl_strequal(iface->ifa_name, interface)) {
void *addr;
- char scope[12]="";
+ char scope[12]="";
if (af == AF_INET6) {
unsigned int scopeid;
addr = &((struct sockaddr_in6 *)iface->ifa_addr)->sin6_addr;
- /* Include the scope of this interface as part of the address */
+ /* Include the scope of this interface as part of the address */
scopeid = ((struct sockaddr_in6 *)iface->ifa_addr)->sin6_scope_id;
if (scopeid)
- snprintf(scope, sizeof(scope), "%%%u", scopeid);
- } else
+ snprintf(scope, sizeof(scope), "%%%u", scopeid);
+ }
+ else
addr = &((struct sockaddr_in *)iface->ifa_addr)->sin_addr;
ip = (char *) Curl_inet_ntop(af, addr, buf, buf_size);
- strlcat(buf, scope, buf_size);
- break;
+ strlcat(buf, scope, buf_size);
+ break;
}
}
freeifaddrs(head);
@@ -130,8 +138,11 @@ char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size)
#endif
#include "inet_ntop.h"
-#include "memory.h"
+#define _MPRINTF_REPLACE /* use our functions only */
+#include <curl/mprintf.h>
+
+#include "memory.h"
/* The last #include file should be: */
#include "memdebug.h"