diff options
author | Garrett Rooney <rooneg@apache.org> | 2006-04-27 00:01:52 +0000 |
---|---|---|
committer | Garrett Rooney <rooneg@apache.org> | 2006-04-27 00:01:52 +0000 |
commit | 3c65e8dce729a06091785231670fa6a741db43ce (patch) | |
tree | f4305ba61d57af1a598a4e1707d37f30f628aa04 /network_io | |
parent | 26865437452108815307e767e78a2d253a106b6b (diff) | |
download | apr-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.c | 4 | ||||
-rw-r--r-- | network_io/unix/sendrecv.c | 2 | ||||
-rw-r--r-- | network_io/win32/sendrecv.c | 3 |
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; |