还有 ucache.c 的 diff ..
不知道还有没有别的问题,free 那里有全的吗? :)
@@ -452,14 +452,26 @@
int m_socket;
char cmdbuf[255];
+#ifdef HAVE_IPV6
+ struct sockaddr_in6 sin;
+#else
struct sockaddr_in sin;
+#endif
fd_set rfds;
int result;
struct timeval tv;
-
+#ifdef HAVE_IPV6
+ m_socket = socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP);
+#else
m_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
+#endif
if (m_socket < 0)
return;
+#ifdef HAVE_IPV6
+ sin.sin6_family = AF_INET6;
+ sin.sin6_port = htons(60001);
+ inet_pton(AF_INET6, "::1", &sin.sin6_addr);
+#else
sin.sin_family = AF_INET;
sin.sin_port = htons(60001);
#ifdef HAVE_INET_ATON
@@ -470,6 +482,7 @@
/* Is it OK? */
my_inet_aton("127.0.0.1", &sin.sin_addr);
#endif
+#endif /* IPV6 */
if (connect(m_socket, (struct sockaddr *) &sin, sizeof(sin)) != 0) {
close(m_socket);
return;
@@ -639,14 +652,26 @@
int m_socket;
char cmdbuf[255];
+#ifdef HAVE_IPV6
+ struct sockaddr_in6 sin;
+#else
struct sockaddr_in sin;
+#endif
fd_set rfds;
int result;
struct timeval tv;
-
+#ifdef HAVE_IPV6
+ m_socket = socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP);
+#else
m_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
+#endif
if (m_socket < 0)
return -1;
+#ifdef HAVE_IPV6
+ sin.sin6_family = AF_INET6;
+ sin.sin6_port = htons(60001);
+ inet_pton(AF_INET6, "::1", &sin.sin6_addr);
+#else
sin.sin_family = AF_INET;
sin.sin_port = htons(60001);
#ifdef HAVE_INET_ATON
@@ -657,6 +682,7 @@
/* Is it OK? */
my_inet_aton("127.0.0.1", &sin.sin_addr);
#endif
+#endif /* IPV6 */
if (connect(m_socket, (struct sockaddr *) &sin, sizeof(sin)) != 0) {
close(m_socket);
return -1;
【 在 FreeWizard@bbs.happynet.org-SPAM.no (屠狗功名 雕龙文卷 岂是平生意) 的大作中提到: 】
: 发现我好像前两次都贴错了 昏倒
--
FROM 166.111.167.223