]> sjero.net Git - wget/blobdiff - src/ftp-basic.c
[svn] Look for and use socklen_t.
[wget] / src / ftp-basic.c
index 5ba09527e9ac7ba4744f09a83d0d6370db03f697..05f3f32ed9c93dab38d74c019ab4a31b968d5bc6 100644 (file)
@@ -195,12 +195,12 @@ ftp_login (struct rbuf *rbuf, const char *acc, const char *pass)
     };
     int i;
 
-    for (i = 0; i < ARRAY_SIZE (skey_head); i++)
+    for (i = 0; i < countof (skey_head); i++)
       {
         if (strncasecmp (skey_head[i], respline, strlen (skey_head[i])) == 0)
           break;
       }
-    if (i < ARRAY_SIZE (skey_head))
+    if (i < countof (skey_head))
       {
         const char *cp;
         int skey_sequence = 0;
@@ -420,9 +420,9 @@ ftp_epsv (struct rbuf *rbuf, ip_address *addr, unsigned short *port,
   /* Now we have the port but we need the IPv6 :-( */
   {
     wget_sockaddr remote;
-    int len = sizeof (remote);
-    struct sockaddr_in *ipv4_sock = ( struct sockaddr_in *)&remote;
-    getpeername (RBUF_FD (rbuf), (struct sockaddr*)&remote, &len);
+    socklen_t addrlen = sizeof (remote);
+    struct sockaddr_in *ipv4_sock = (struct sockaddr_in *)&remote;
+    getpeername (RBUF_FD (rbuf), (struct sockaddr *)&remote, &addrlen);
     switch(remote.sa.sa_family)
       {
         case AF_INET6:
@@ -768,6 +768,8 @@ ftp_syst (struct rbuf *rbuf, enum stype *server_type)
     *server_type = ST_WINNT;
   else if (!strcasecmp (request, "MACOS"))
     *server_type = ST_MACOS;
+  else if (!strcasecmp (request, "OS/400"))
+    *server_type = ST_OS400;
   else
     *server_type = ST_OTHER;