-/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
-*----------------------------------------------------------*
-* (c) 1995-2006 Artsoft Entertainment *
-* Holger Schemel *
-* Detmolder Strasse 189 *
-* 33604 Bielefeld *
-* Germany *
-* e-mail: info@artsoft.org *
-*----------------------------------------------------------*
-* netserv.c *
-***********************************************************/
+// ============================================================================
+// Rocks'n'Diamonds - McDuffin Strikes Back!
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+// Holger Schemel
+// info@artsoft.org
+// http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// netserv.c
+// ============================================================================
#include "libgame/platform.h"
static int interrupt;
-static unsigned long ServerFrameCounter = 0;
+static unsigned int ServerFrameCounter = 0;
static void addtobuffer(struct NetworkServerPlayerInfo *player,
unsigned char *b, int len)
#if defined(TARGET_SDL)
SDLNet_TCP_Send(player->fd, player->writbuffer, player->nwrite);
#else
- write(player->fd, player->writbuffer, player->nwrite);
+ if (write(player->fd, player->writbuffer, player->nwrite) == -1)
+ Error(ERR_WARN, "write() failed; %s", strerror(errno));
#endif
player->nwrite = 0;
}
setsid();
if (fork())
exit(0);
- chdir("/");
+ if (chdir("/") == -1)
+ Error(ERR_WARN, "chdir() failed; %s", strerror(errno));
/* open a fake stdin, stdout, stderr, just in case */
open("/dev/null", O_RDONLY);
#if defined(TARGET_SDL)
if ((sl = SDLNet_CheckSockets(fds, 500000)) < 1)
{
- Error(ERR_NETWORK_SERVER, SDLNet_GetError());
+ Error(ERR_NETWORK_SERVER, "SDLNet_CheckSockets failed: %s",
+ SDLNet_GetError());
perror("SDLNet_CheckSockets");
}
if (FD_ISSET(lfd, &fds))
{
- int newfd, slen;
+ int newfd;
+ socklen_t slen;
slen = sizeof(saddr);
newfd = accept(lfd, (struct sockaddr *)&saddr, &slen);
break;
}
- switch(buffer[1])
+ switch (buffer[1])
{
case OP_PLAYER_NAME:
Handle_OP_PLAYER_NAME(player, len);