libxml.patch 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Index: nanoftp.c
  2. --- nanoftp.c.orig 2003-10-10 17:49:38.000000000 +0200
  3. +++ nanoftp.c 2003-10-22 20:55:34.000000000 +0200
  4. @@ -1553,7 +1553,7 @@
  5. memset (&dataAddr, 0, sizeof(dataAddr));
  6. #ifdef SUPPORT_IP6
  7. - if ((ctxt->ftpAddr).ss_family == AF_INET6) {
  8. + if (((struct sockaddr *)&ctxt->ftpAddr)->sa_family == AF_INET6) {
  9. ctxt->dataFd = socket (AF_INET6, SOCK_STREAM, IPPROTO_TCP);
  10. ((struct sockaddr_in6 *)&dataAddr)->sin6_family = AF_INET6;
  11. dataAddrLen = sizeof(struct sockaddr_in6);
  12. @@ -1572,7 +1572,7 @@
  13. if (ctxt->passive) {
  14. #ifdef SUPPORT_IP6
  15. - if ((ctxt->ftpAddr).ss_family == AF_INET6)
  16. + if (((struct sockaddr *)&ctxt->ftpAddr)->sa_family == AF_INET6)
  17. snprintf (buf, sizeof(buf), "EPSV\r\n");
  18. else
  19. #endif
  20. @@ -1603,7 +1603,7 @@
  21. cur = &ctxt->controlBuf[ctxt->controlBufAnswer];
  22. while (((*cur < '0') || (*cur > '9')) && *cur != '\0') cur++;
  23. #ifdef SUPPORT_IP6
  24. - if ((ctxt->ftpAddr).ss_family == AF_INET6) {
  25. + if (((struct sockaddr *)&ctxt->ftpAddr)->sa_family == AF_INET6) {
  26. if (sscanf (cur, "%u", &temp[0]) != 1) {
  27. __xmlIOErr(XML_FROM_FTP, XML_FTP_EPSV_ANSWER,
  28. "Invalid answer to EPSV\n");
  29. @@ -1640,7 +1640,7 @@
  30. } else {
  31. getsockname(ctxt->dataFd, (struct sockaddr *) &dataAddr, &dataAddrLen);
  32. #ifdef SUPPORT_IP6
  33. - if ((ctxt->ftpAddr).ss_family == AF_INET6)
  34. + if (((struct sockaddr *)&ctxt->ftpAddr)->sa_family == AF_INET6)
  35. ((struct sockaddr_in6 *)&dataAddr)->sin6_port = 0;
  36. else
  37. #endif
  38. @@ -1659,7 +1659,7 @@
  39. return (-1);
  40. }
  41. #ifdef SUPPORT_IP6
  42. - if ((ctxt->ftpAddr).ss_family == AF_INET6) {
  43. + if (((struct sockaddr *)&ctxt->ftpAddr)->sa_family == AF_INET6) {
  44. char buf6[INET6_ADDRSTRLEN];
  45. inet_ntop (AF_INET6, &((struct sockaddr_in6 *)&dataAddr)->sin6_addr,
  46. buf6, INET6_ADDRSTRLEN);