#include "portab.h"
#include "io.h"
-static char UNUSED id[] = "$Id: conn.c,v 1.202 2007/01/23 16:07:19 alex Exp $";
+static char UNUSED id[] = "$Id: conn.c,v 1.205 2007/05/02 12:34:31 fw Exp $";
#include "imp.h"
#include <assert.h>
} /* Conn_Exit */
-static int
+static unsigned int
ports_initlisteners(array *a, void (*func)(int,short))
{
- int created = 0;
+ unsigned int created = 0;
size_t len;
int fd;
UINT16 *port;
}
-GLOBAL int
+GLOBAL unsigned int
Conn_InitListeners( void )
{
/* Initialize ports on which the server should accept connections */
- int created;
+ unsigned int created;
if (!io_library_init(CONNECTION_POOL)) {
Log(LOG_EMERG, "Cannot initialize IO routines: %s", strerror(errno));
if( ! Init_Socket( sock )) return -1;
if (bind(sock, (struct sockaddr *)&addr, (socklen_t)sizeof(addr)) != 0) {
- Log( LOG_CRIT, "Can't bind socket: %s!", strerror( errno ));
+ Log( LOG_CRIT, "Can't bind socket (port %d) : %s!", Port, strerror( errno ));
close( sock );
return -1;
}
/* Mark link as "closing" */
Conn_OPTION_ADD( &My_Connections[Idx], CONN_ISCLOSING );
-
+
if (LogMsg)
txt = LogMsg;
else
(double)My_Connections[Idx].bytes_out / 1024);
}
#endif
-
/* Send ERROR to client (see RFC!) */
if (FwdMsg)
Conn_WriteStr(Idx, "ERROR :%s", FwdMsg);
} else
#endif
{
- readbuf[len] = 0;
- if (!array_cats( &My_Connections[Idx].rbuf, readbuf )) {
+ if (!array_catb( &My_Connections[Idx].rbuf, readbuf, len)) {
Log( LOG_ERR, "Could not append recieved data to input buffer (connn %d): %d bytes!", Idx, len );
Conn_Close( Idx, "Receive buffer overflow!", NULL, false );
}
assert( Idx >= 0 );
c = array_get(&My_ConnArray, sizeof (CONNECTION), (size_t)Idx);
-
+
assert(c != NULL);
-
+
return c ? c->client : NULL;
}