aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/config-os400.h8
-rw-r--r--lib/config-riscos.h2
-rw-r--r--lib/if2ip.c111
-rw-r--r--lib/setup.h5
-rw-r--r--packages/vms/config-vms.h9
-rw-r--r--src/config-riscos.h2
6 files changed, 45 insertions, 92 deletions
diff --git a/lib/config-os400.h b/lib/config-os400.h
index e562b3c0b..0814773b5 100644
--- a/lib/config-os400.h
+++ b/lib/config-os400.h
@@ -283,6 +283,9 @@
/* Define if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
+/* Define if you have the <stropts.h> header file. */
+#define HAVE_STROPTS_H
+
/* Define if you have the `strstr' function. */
#define HAVE_STRSTR
@@ -392,14 +395,15 @@
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
-#define IOCTL_3_ARGS
-
/* Define if you have the ioctl function. */
#define HAVE_IOCTL
/* Define if you have a working ioctl FIONBIO function. */
#define HAVE_IOCTL_FIONBIO
+/* Define if you have a working ioctl SIOCGIFADDR function. */
+#define HAVE_IOCTL_SIOCGIFADDR
+
/* to disable LDAP */
#undef CURL_DISABLE_LDAP
diff --git a/lib/config-riscos.h b/lib/config-riscos.h
index fb1bb521e..938a8fc3e 100644
--- a/lib/config-riscos.h
+++ b/lib/config-riscos.h
@@ -381,8 +381,6 @@
/* this is a quick hack. I hope it's correct. */
#define ifr_dstaddr ifr_addr
-#define IOCTL_3_ARGS
-
/* Define if you have the ioctl function. */
#define HAVE_IOCTL
diff --git a/lib/if2ip.c b/lib/if2ip.c
index c591a957a..bf400df48 100644
--- a/lib/if2ip.c
+++ b/lib/if2ip.c
@@ -23,46 +23,43 @@
#include "setup.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
#ifdef HAVE_UNISTD_H
-#include <unistd.h>
+# include <unistd.h>
#endif
-
-#include "if2ip.h"
-
-/*
- * This test can probably be simplified to #if defined(SIOCGIFADDR) and
- * moved after the following includes.
- */
-#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN__) && \
- !defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE) && \
- !defined(__AMIGA__) && !defined(__minix) && !defined(__SYMBIAN32__) && \
- !defined(__WATCOMC__)
-
-#if defined(HAVE_GETIFADDRS)
-
-/*
- * glibc provides getifaddrs() to provide a list of all interfaces and their
- * addresses.
- */
-
-#include <ifaddrs.h>
-
#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
+# include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
+# include <netinet/in.h>
#endif
#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
+# include <arpa/inet.h>
+#endif
+#ifdef HAVE_NET_IF_H
+# include <net/if.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+# include <sys/ioctl.h>
+#endif
+#ifdef HAVE_NETDB_H
+# include <netdb.h>
+#endif
+#ifdef HAVE_SYS_SOCKIO_H
+# include <sys/sockio.h>
+#endif
+#ifdef HAVE_IFADDRS_H
+# include <ifaddrs.h>
+#endif
+#ifdef HAVE_STROPTS_H
+# include <stropts.h>
+#endif
+#ifdef VMS
+# include <inet.h>
#endif
#include "inet_ntop.h"
#include "strequal.h"
+#include "if2ip.h"
#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>
@@ -71,6 +68,10 @@
/* The last #include file should be: */
#include "memdebug.h"
+------------------------------------------------------------------
+
+#if defined(HAVE_GETIFADDRS)
+
char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size)
{
struct ifaddrs *iface, *head;
@@ -103,49 +104,7 @@ char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size)
return ip;
}
-#else
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#ifdef HAVE_SYS_TIME_H
-/* This must be before net/if.h for AIX 3.2 to enjoy life */
-#include <sys/time.h>
-#endif
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#ifdef HAVE_SYS_SOCKIO_H
-#include <sys/sockio.h>
-#endif
-
-#ifdef VMS
-#include <inet.h>
-#endif
-
-#include "inet_ntop.h"
-
-#define _MPRINTF_REPLACE /* use our functions only */
-#include <curl/mprintf.h>
-
-#include "memory.h"
-/* The last #include file should be: */
-#include "memdebug.h"
+#elif defined(HAVE_IOCTL_SIOCGIFADDR)
#define SYS_ERROR -1
@@ -171,11 +130,7 @@ char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size)
}
memcpy(req.ifr_name, interface, len+1);
req.ifr_addr.sa_family = AF_INET;
-#ifdef IOCTL_3_ARGS
if(SYS_ERROR == ioctl(dummy, SIOCGIFADDR, &req)) {
-#else
- if(SYS_ERROR == ioctl(dummy, SIOCGIFADDR, &req, sizeof(req))) {
-#endif
sclose(dummy);
return NULL;
}
@@ -190,10 +145,9 @@ char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size)
}
return ip;
}
-#endif
-/* -- end of if2ip() -- */
#else
+
char *Curl_if2ip(int af, const char *interf, char *buf, int buf_size)
{
(void) af;
@@ -202,4 +156,5 @@ char *Curl_if2ip(int af, const char *interf, char *buf, int buf_size)
(void) buf_size;
return NULL;
}
+
#endif
diff --git a/lib/setup.h b/lib/setup.h
index 66ddd38cb..5b675edda 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -355,7 +355,6 @@
# define sclose(x) close_s(x)
# define select(n,r,w,x,t) select_s(n,r,w,x,t)
# define ioctl(x,y,z) ioctlsocket(x,y,(char *)(z))
-# define IOCTL_3_ARGS
# include <tcp.h>
# ifdef word
# undef word
@@ -430,10 +429,6 @@
#endif
#endif
-#ifdef mpeix
-#define IOCTL_3_ARGS
-#endif
-
#ifdef NETWARE
int netware_init(void);
#ifndef __NOVELL_LIBC__
diff --git a/packages/vms/config-vms.h b/packages/vms/config-vms.h
index fe51c9a72..ad92543c1 100644
--- a/packages/vms/config-vms.h
+++ b/packages/vms/config-vms.h
@@ -1,6 +1,6 @@
/* MSK, 02/05/04, Hand edited for trail build on Alpha V7.3, DEC C 6.5-003 */
/* MSK, 03/09/04, Seems to work for all platforms I've built on so far. */
-/* Added HAVE_SYS_IOCTL_H and IOCTL_3_ARGS defines */
+/* Added HAVE_SYS_IOCTL_H define */
/* TES, 10/06/04, Added MAX_INITIAL_POST_SIZE, HAVE_BASENAME */
/* MSK, 02/02/05, Changed HAVE_TERMIOS_H to an undef since the change in */
/* getpass.c no longer undef'd it during compile. */
@@ -67,6 +67,9 @@
/* Define if you have a working ioctl FIONBIO function. */
#define HAVE_IOCTL_FIONBIO 1
+/* Define if you have a working ioctl SIOCGIFADDR function. */
+#define HAVE_IOCTL_SIOCGIFADDR 1
+
/* Define if you have the perror function. */
#define HAVE_PERROR 1
@@ -265,8 +268,8 @@
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
-/* IOCTL_3_ARGS defined to match the ioctl function in stropts.h */
-#define IOCTL_3_ARGS 1
+/* Define to 1 if you have the <stropts.h> header file. */
+#define HAVE_STROPTS_H 1
/* to disable LDAP */
#define CURL_DISABLE_LDAP 1
diff --git a/src/config-riscos.h b/src/config-riscos.h
index dc5a4c7d6..840b94f6b 100644
--- a/src/config-riscos.h
+++ b/src/config-riscos.h
@@ -372,8 +372,6 @@
/* this is a quick hack. I hope it's correct. */
#define ifr_dstaddr ifr_addr
-#define IOCTL_3_ARGS
-
/* Define if you have the ioctl function. */
#define HAVE_IOCTL