summaryrefslogtreecommitdiff
path: root/network_io
diff options
context:
space:
mode:
authorGarrett Rooney <rooneg@apache.org>2006-04-27 00:01:52 +0000
committerGarrett Rooney <rooneg@apache.org>2006-04-27 00:01:52 +0000
commit3c65e8dce729a06091785231670fa6a741db43ce (patch)
treef4305ba61d57af1a598a4e1707d37f30f628aa04 /network_io
parent26865437452108815307e767e78a2d253a106b6b (diff)
downloadapr-3c65e8dce729a06091785231670fa6a741db43ce.tar.gz
Make apr_socket_recvfrom set the port in the from sockaddr.
Submitted by: Anthony Minessale <anthmct@yahoo.com> PR: 39325 * network_io/win32/sendrecv.c (apr_socket_recvfrom): Fill in from->port. * network_io/unix/sendrecv.c (apr_socket_recvfrom): Ditto. * network_io/beos/sendrecv.c (apr_socket_recvfrom): Ditto. * test/testsockets.c (sendto_recievefrom): Zero out the port before calling recvfrom, to confirm that it's filled in. * CHANGES: Note change. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@397344 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io')
-rw-r--r--network_io/beos/sendrecv.c4
-rw-r--r--network_io/unix/sendrecv.c2
-rw-r--r--network_io/win32/sendrecv.c3
3 files changed, 8 insertions, 1 deletions
diff --git a/network_io/beos/sendrecv.c b/network_io/beos/sendrecv.c
index 6378a3aaa..8ffafbb9b 100644
--- a/network_io/beos/sendrecv.c
+++ b/network_io/beos/sendrecv.c
@@ -203,7 +203,9 @@ APR_DECLARE(apr_status_t) apr_socket_recvfrom(apr_sockaddr_t *from,
(*len) = 0;
return errno;
}
-
+
+ from->port = ntohs(from->sa.sin.sin_port);
+
(*len) = rv;
if (rv == 0)
return APR_EOF;
diff --git a/network_io/unix/sendrecv.c b/network_io/unix/sendrecv.c
index 7017ec324..4691246f2 100644
--- a/network_io/unix/sendrecv.c
+++ b/network_io/unix/sendrecv.c
@@ -172,6 +172,8 @@ apr_status_t apr_socket_recvfrom(apr_sockaddr_t *from, apr_socket_t *sock,
return errno;
}
+ from->port = ntohs(from->sa.sin.sin_port);
+
(*len) = rv;
if (rv == 0 && sock->type == SOCK_STREAM) {
return APR_EOF;
diff --git a/network_io/win32/sendrecv.c b/network_io/win32/sendrecv.c
index 1fedfdf29..5a4fff14a 100644
--- a/network_io/win32/sendrecv.c
+++ b/network_io/win32/sendrecv.c
@@ -196,6 +196,9 @@ APR_DECLARE(apr_status_t) apr_socket_recvfrom(apr_sockaddr_t *from,
(*len) = 0;
return apr_get_netos_error();
}
+
+ from->port = ntohs(from->sa.sin.sin_port);
+
(*len) = rv;
if (rv == 0 && sock->type == SOCK_STREAM)
return APR_EOF;