diff options
author | Xavier Roche <xroche@users.noreply.github.com> | 2012-03-19 12:57:43 +0000 |
---|---|---|
committer | Xavier Roche <xroche@users.noreply.github.com> | 2012-03-19 12:57:43 +0000 |
commit | 64cc4a88da8887ef1f7f4d90be0158d2cc76222d (patch) | |
tree | e72af709fbce8bc495f51e7f0518de9a9a2c3b7f /src/htsnet.h | |
parent | 844ecc37072d515513177c65a8c9dc35c9cdfc1a (diff) |
httrack 3.40.4
Diffstat (limited to 'src/htsnet.h')
-rw-r--r-- | src/htsnet.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/htsnet.h b/src/htsnet.h index 7b7cc1a..4880721 100644 --- a/src/htsnet.h +++ b/src/htsnet.h @@ -118,10 +118,12 @@ typedef struct SOCaddr { if (hpsize == sizeof(struct sockaddr_in)) { \ server_len=sizeof(struct sockaddr_in); \ SOCaddr_sinfamily(server) = (*(struct sockaddr_in*)(hpaddr)).sin_family; \ + SOCaddr_sinport(server) = (*(struct sockaddr_in*)(hpaddr)).sin_port; \ memcpy(&SOCaddr_sinaddr(server), &(*(struct sockaddr_in*)(hpaddr)).sin_addr, sizeof(SOCaddr_sinaddr(server))); \ } else if (hpsize == 4) {\ server_len=sizeof(struct sockaddr_in); \ SOCaddr_sinfamily(server) = AF_INET; \ + SOCaddr_sinport(server) = 0; \ memcpy(&SOCaddr_sinaddr(server), (hpaddr), sizeof(SOCaddr_sinaddr(server))); \ } else if ((hpsize > 0) && (hpsize <= sizeof(server))) { \ server_len=hpsize; \ @@ -194,22 +196,27 @@ typedef struct SOCaddr { if (hpsize == sizeof(struct sockaddr_in6)) { \ server_len=sizeof(struct sockaddr_in6); \ SOCaddr_sinfamily(server) = (*(struct sockaddr_in6*)(hpaddr)).sin6_family; \ + SOCaddr_sinport(server) = (*(struct sockaddr_in6*)(hpaddr)).sin6_port; \ SOCaddr_sinflowinfo(server) = (*(struct sockaddr_in6*)(hpaddr)).sin6_flowinfo; \ memcpy(&SOCaddr_sinaddr(server), &(*(struct sockaddr_in6*)(hpaddr)).sin6_addr, sizeof(SOCaddr_sinaddr(server))); \ } else if (hpsize > sizeof(struct sockaddr_in6)) { \ server_len=hpsize; \ + SOCaddr_sinport(server) = 0; \ memcpy(&(server), hpaddr, hpsize); \ } else if (hpsize == sizeof(struct sockaddr_in)) { \ server_len=sizeof(struct sockaddr_in); \ (*(struct sockaddr_in*)(&server)).sin_family = AF_INET; \ + SOCaddr_sinport(server) = (*(struct sockaddr_in*)(hpaddr)).sin_port; \ memcpy(&(*(struct sockaddr_in*)&(server)).sin_addr, &(*(struct sockaddr_in*)(hpaddr)).sin_addr, sizeof((*(struct sockaddr_in*)(hpaddr)).sin_addr)); \ } else if (hpsize == 4) {\ server_len=sizeof(struct sockaddr_in); \ (*(struct sockaddr_in*)(&server)).sin_family = AF_INET; \ + SOCaddr_sinport(server) = 0; \ memcpy(&(*(struct sockaddr_in*)&(server)).sin_addr, hpaddr, 4); \ } else if (hpsize == 16) {\ server_len=sizeof(struct sockaddr_in6); \ SOCaddr_sinfamily(server) = AF_INET6; \ + SOCaddr_sinport(server) = 0; \ memcpy(&SOCaddr_sinaddr(server), (hpaddr), 16); \ } else if ((hpsize > 0) && (hpsize <= sizeof(server))) { \ server_len=hpsize; \ |