aboutsummaryrefslogtreecommitdiff
path: root/networks/plaintext.c
diff options
context:
space:
mode:
Diffstat (limited to 'networks/plaintext.c')
-rw-r--r--networks/plaintext.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/networks/plaintext.c b/networks/plaintext.c
index b3554ab..e274c08 100644
--- a/networks/plaintext.c
+++ b/networks/plaintext.c
@@ -88,10 +88,10 @@ size_t plaintext_recv(void *fd, char *data, size_t len, char *err) {
}
int plaintext_connect(void **handle, struct string address, struct string port, struct string *addr_out) {
- struct sockaddr sockaddr;
+ struct sockaddr_storage sockaddr;
socklen_t sockaddr_len;
int family;
- if (resolve(address, port, &sockaddr, &sockaddr_len, &family) != 0)
+ if (resolve(address, port, (struct sockaddr*)&sockaddr, &sockaddr_len, &family) != 0)
return -1;
int fd = socket(family, SOCK_STREAM, IPPROTO_TCP);
@@ -109,7 +109,7 @@ int plaintext_connect(void **handle, struct string address, struct string port,
int res;
do {
- res = connect(fd, &sockaddr, sockaddr_len);
+ res = connect(fd, (struct sockaddr*)&sockaddr, sockaddr_len);
} while (res < 0 && errno == EINTR);
if (res < 0) {
close(fd);
@@ -136,12 +136,12 @@ int plaintext_connect(void **handle, struct string address, struct string port,
}
int plaintext_accept(int listen_fd, void **handle, struct string *addr) {
- struct sockaddr address;
+ struct sockaddr_storage address;
socklen_t address_len = sizeof(address);
int con_fd;
do {
- con_fd = accept(listen_fd, &address, &address_len);
+ con_fd = accept(listen_fd, (struct sockaddr*)&address, &address_len);
} while (con_fd == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK || errno == ENETDOWN || errno == EPROTO || errno == ENOPROTOOPT || errno == EHOSTDOWN || errno == ENONET || errno == EHOSTUNREACH || errno == EOPNOTSUPP || errno == ENETUNREACH));
if (con_fd == -1)