projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20140129-1-src
[rocksndiamonds.git]
/
src
/
netserv.c
diff --git
a/src/netserv.c
b/src/netserv.c
index 8a41aee586b8caa48be7d43acee1ce6e1c34578c..121377e29c7f359c3508775f0efb2f3d90035712 100644
(file)
--- a/
src/netserv.c
+++ b/
src/netserv.c
@@
-1,7
+1,7
@@
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
-* (c) 1995-200
2
Artsoft Entertainment *
+* (c) 1995-200
6
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-77,7
+77,7
@@
static unsigned char realbuffer[512], *buffer = realbuffer + 4;
static int interrupt;
static int interrupt;
-static unsigned
long
ServerFrameCounter = 0;
+static unsigned
int
ServerFrameCounter = 0;
static void addtobuffer(struct NetworkServerPlayerInfo *player,
unsigned char *b, int len)
static void addtobuffer(struct NetworkServerPlayerInfo *player,
unsigned char *b, int len)
@@
-97,7
+97,8
@@
static void flushuser(struct NetworkServerPlayerInfo *player)
#if defined(TARGET_SDL)
SDLNet_TCP_Send(player->fd, player->writbuffer, player->nwrite);
#else
#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;
}
#endif
player->nwrite = 0;
}
@@
-586,7
+587,8
@@
void NetworkServer(int port, int serveronly)
setsid();
if (fork())
exit(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);
/* open a fake stdin, stdout, stderr, just in case */
open("/dev/null", O_RDONLY);
@@
-612,7
+614,8
@@
void NetworkServer(int port, int serveronly)
#if defined(TARGET_SDL)
if ((sl = SDLNet_CheckSockets(fds, 500000)) < 1)
{
#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");
}
perror("SDLNet_CheckSockets");
}
@@
-662,7
+665,8
@@
void NetworkServer(int port, int serveronly)
if (FD_ISSET(lfd, &fds))
{
if (FD_ISSET(lfd, &fds))
{
- int newfd, slen;
+ int newfd;
+ socklen_t slen;
slen = sizeof(saddr);
newfd = accept(lfd, (struct sockaddr *)&saddr, &slen);
slen = sizeof(saddr);
newfd = accept(lfd, (struct sockaddr *)&saddr, &slen);
@@
-740,7
+744,7
@@
void NetworkServer(int port, int serveronly)
break;
}
break;
}
- switch(buffer[1])
+ switch
(buffer[1])
{
case OP_PLAYER_NAME:
Handle_OP_PLAYER_NAME(player, len);
{
case OP_PLAYER_NAME:
Handle_OP_PLAYER_NAME(player, len);