AROS: add inet_pton emulation and make sure we use recv/send and not read/write

libnfs-4.0.0-vitalif
Ronnie Sahlberg 2013-04-13 07:40:46 -07:00
parent 03aea5e929
commit 9a9126c3d9
2 changed files with 8 additions and 5 deletions

View File

@ -78,8 +78,11 @@ void aros_freeaddrinfo(struct addrinfo *res)
int aros_inet_pton(int af, char *src, void *dst)
{
printf("No inet_pton yet");
exit(10);
struct sockaddr_in sin;
sin.sin_addr.s_addr = inet_addr(src);
memcpy(dst, &sin.sin_addr.s_addr, sizeof(sin.sin_addr,s_addr));
return 1;
}

View File

@ -118,7 +118,7 @@ static int rpc_write_to_socket(struct rpc_context *rpc)
total = rpc->outqueue->outdata.size;
#if defined(WIN32)
#if defined(WIN32) | defined(AROS)
count = send(rpc->fd, rpc->outqueue->outdata.data + rpc->outqueue->written, total - rpc->outqueue->written, 0);
#else
count = write(rpc->fd, rpc->outqueue->outdata.data + rpc->outqueue->written, total - rpc->outqueue->written);
@ -202,7 +202,7 @@ static int rpc_read_from_socket(struct rpc_context *rpc)
if (rpc->inpos < 4) {
size = 4 - rpc->inpos;
#if defined(WIN32)
#if defined(WIN32) | defined(AROS)
count = recv(rpc->fd, rpc->inbuf + rpc->inpos, size, 0);
#else
count = read(rpc->fd, rpc->inbuf + rpc->inpos, size);
@ -242,7 +242,7 @@ static int rpc_read_from_socket(struct rpc_context *rpc)
size = rpc->insize - rpc->inpos;
}
#if defined(WIN32)
#if defined(WIN32) | defined(AROS)
count = recv(rpc->fd, rpc->inbuf + rpc->inpos, size, 0);
#else
count = read(rpc->fd, rpc->inbuf + rpc->inpos, size);