X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fnetserv.c;h=121377e29c7f359c3508775f0efb2f3d90035712;hb=19d38b8a650bd10ffbbaed031f5b3819dbcd32ce;hp=a62cae02ccfec722f4e7d2b08e41a95c72e14e20;hpb=ca40038f7fbffd28bd6a106715a573d2029b5a04;p=rocksndiamonds.git diff --git a/src/netserv.c b/src/netserv.c index a62cae02..121377e2 100644 --- a/src/netserv.c +++ b/src/netserv.c @@ -77,7 +77,7 @@ static unsigned char realbuffer[512], *buffer = realbuffer + 4; static int interrupt; -static unsigned long ServerFrameCounter = 0; +static unsigned int ServerFrameCounter = 0; 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 - 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; } @@ -586,7 +587,8 @@ void NetworkServer(int port, int serveronly) 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); @@ -612,7 +614,8 @@ void NetworkServer(int port, int serveronly) #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"); } @@ -662,7 +665,8 @@ void NetworkServer(int port, int serveronly) if (FD_ISSET(lfd, &fds)) { - int newfd, slen; + int newfd; + socklen_t slen; slen = sizeof(saddr); newfd = accept(lfd, (struct sockaddr *)&saddr, &slen);