summaryrefslogtreecommitdiffstats
path: root/cpukit/httpd/socket.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2004-03-05 18:14:27 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2004-03-05 18:14:27 +0000
commitbfb4c5478f622c22b89f96cfb80818267e7dbb12 (patch)
treefb7c2d1d1dc53f6ce224daebc5ecc58c8a1b523e /cpukit/httpd/socket.c
parent2004-03-05 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-bfb4c5478f622c22b89f96cfb80818267e7dbb12.tar.bz2
2004-03-05 Joel Sherrill <joel@OARcorp.com>
* libnetworking/rtems_webserver/ejparse.c, libnetworking/rtems_webserver/emfdb.c, libnetworking/rtems_webserver/sock.c, libnetworking/rtems_webserver/socket.c, libnetworking/rtems_webserver/sym.c, libnetworking/rtems_webserver/webs.c, libnetworking/rtems_webserver/websuemf.c: Remove warnings.
Diffstat (limited to 'cpukit/httpd/socket.c')
-rw-r--r--cpukit/httpd/socket.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/cpukit/httpd/socket.c b/cpukit/httpd/socket.c
index 8a145fe520..bca64741d5 100644
--- a/cpukit/httpd/socket.c
+++ b/cpukit/httpd/socket.c
@@ -348,19 +348,24 @@ void socketCloseConnection(int sid)
static void socketAccept(socket_t *sp)
{
- struct sockaddr_in addr;
+ union {
+ struct sockaddr addr;
+ struct sockaddr_in addr_in;
+ } overlay;
+ struct sockaddr_in *addr;
socket_t *nsp;
- size_t len;
+ int len;
char *pString;
int newSock, nid;
a_assert(sp);
+ addr = &overlay.addr_in;
/*
* Accept the connection and prevent inheriting by children (F_SETFD)
*/
len = sizeof(struct sockaddr_in);
- if ((newSock = accept(sp->sock, (struct sockaddr *) &addr, (int *)&len)) < 0) {
+ if ((newSock = accept(sp->sock, &overlay.addr, &len)) < 0) {
return;
}
#ifndef __NO_FCNTL
@@ -390,8 +395,8 @@ static void socketAccept(socket_t *sp)
* to register for further events of interest.
*/
if (sp->accept != NULL) {
- pString = inet_ntoa(addr.sin_addr);
- if ((sp->accept)(nid, pString, ntohs(addr.sin_port), sp->sid) < 0) {
+ pString = inet_ntoa(addr->sin_addr);
+ if ((sp->accept)(nid, pString, ntohs(addr->sin_port), sp->sid) < 0) {
socketFree(nid);
}
#if VXWORKS