[w3m-dev 04379] check socklen_t
Hiroyuki Ito <[email protected]> Tue, 10 Aug 2010 19:09:56 +0900 (JST)
| Newsgroups | gmane.comp.web.w3m.devel |
|---|---|
| Message-ID | <[email protected]> |
伊東です。
コンパイル時の警告を減らすために socklen_t がある場合は使う様にしてみま
した。サイズが大きくなるので configure の差分は含めていません。
Index: config.h.in
===================================================================
RCS file: /cvsroot/w3m/w3m/config.h.in,v
retrieving revision 1.19
diff -u -r1.19 config.h.in
--- config.h.in 23 May 2007 15:06:05 -0000 1.19
+++ config.h.in 10 Aug 2010 10:01:38 -0000
@@ -81,6 +81,7 @@
#define ID_EXT
#undef CLEAR_BUF
#undef INET6
+#undef HAVE_SOCKLEN_T
#undef HAVE_OLD_SS_FAMILY
#define USE_EGD
#define ENABLE_REMOVE_TRAILINGSPACES
Index: configure.ac
===================================================================
RCS file: /cvsroot/w3m/w3m/configure.ac,v
retrieving revision 1.9
diff -u -r1.9 configure.ac
--- configure.ac 31 May 2007 12:17:05 -0000 1.9
+++ configure.ac 10 Aug 2010 10:01:39 -0000
@@ -107,6 +107,11 @@
AC_W3M_GC
AC_CHECK_LIB(z, zError, [AUXBIN_TARGETS="$AUXBIN_TARGETS inflate\$(EXT)"])
+AC_CHECK_TYPE([socklen_t],
+ [AC_DEFINE(HAVE_SOCKLEN_T)], ,
+ [#include <sys/types.h>
+ #include <sys/socket.h>])
+
AC_DEFINE(AUXBIN_TARGETS, "$AUXBIN_TARGETS")
AC_SUBST(USE_BINMODE_STREAM)
Index: ftp.c
===================================================================
RCS file: /cvsroot/w3m/w3m/ftp.c,v
retrieving revision 1.39
diff -u -r1.39 ftp.c
--- ftp.c 31 May 2007 01:19:50 -0000 1.39
+++ ftp.c 10 Aug 2010 10:01:40 -0000
@@ -25,6 +25,10 @@
#include <winsock.h>
#endif /* __MINGW32_VERSION */
+#ifndef HAVE_SOCKLEN_T
+typedef int socklen_t;
+#endif
+
typedef struct _FTP {
char *host;
int port;
@@ -128,7 +132,7 @@
if (n > 0 && ftp->pass[n - 1] == '@') {
struct sockaddr_in sockname;
- int socknamelen = sizeof(sockname);
+ socklen_t socknamelen = sizeof(sockname);
if (!getsockname(sock, (struct sockaddr *)&sockname, &socknamelen)) {
struct hostent *sockent;
@@ -192,7 +196,8 @@
int family;
#ifdef INET6
struct sockaddr_storage sockaddr;
- int sockaddrlen, port;
+ int port;
+ socklen_t sockaddrlen;
unsigned char d1, d2, d3, d4;
char abuf[INET6_ADDRSTRLEN];
#endif