rnd-20020803-1-src
[rocksndiamonds.git] / src / netserv.c
index 178e89e3265831a271b365e87be66a148264103f..21a48572d08af642fc09fbb42cd94630971fa0b6 100644 (file)
@@ -1,19 +1,20 @@
 /***********************************************************
-*  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
 *----------------------------------------------------------*
-*  (c) 1995-98 Artsoft Entertainment                       *
-*              Holger Schemel                              *
-*              Oststrasse 11a                              *
-*              33604 Bielefeld                             *
-*              phone: ++49 +521 290471                     *
-*              email: aeglos@valinor.owl.de                *
+* (c) 1995-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
 *----------------------------------------------------------*
-*  network.c                                               *
+* network.c                                                *
 ***********************************************************/
 
-#ifndef MSDOS
+#include "libgame/platform.h"
+
+#if defined(PLATFORM_UNIX)
 
-#include <unistd.h>
 #include <fcntl.h>
 #include <sys/time.h>
 #include <signal.h>
@@ -25,8 +26,9 @@
 #include <arpa/inet.h>
 #include <netdb.h>
 
+#include "libgame/libgame.h"
+
 #include "netserv.h"
-#include "misc.h"
 
 static int clients = 0;
 static int onceonly = 0;
@@ -34,7 +36,7 @@ static int onceonly = 0;
 struct NetworkServerPlayerInfo
 {
   int fd;
-  unsigned char player_name[16];
+  char player_name[16];
   unsigned char number;
   struct NetworkServerPlayerInfo *next;
   char active;
@@ -283,7 +285,8 @@ static void Handle_OP_PLAYER_NAME(struct NetworkServerPlayerInfo *player,
   for (i=0; i<len-2; i++)
   {
     if (player->player_name[i] < ' ' || 
-       (player->player_name[i] > 0x7e && player->player_name[i] <= 0xa0))
+       ((unsigned char)(player->player_name[i]) > 0x7e &&
+        (unsigned char)(player->player_name[i]) <= 0xa0))
     {
       player->player_name[i] = 0;
       break;
@@ -348,7 +351,7 @@ static void Handle_OP_START_PLAYING(struct NetworkServerPlayerInfo *player)
     v->action_received = FALSE;
   }
 
-  broadcast(NULL, 10 + strlen(&buffer[10])+1, 0);
+  broadcast(NULL, 10 + strlen((char *)&buffer[10])+1, 0);
 }
 
 static void Handle_OP_PAUSE_PLAYING(struct NetworkServerPlayerInfo *player)
@@ -661,4 +664,4 @@ void NetworkServer(int port, int serveronly)
   }
 }
 
-#endif /* !MSDOS */
+#endif /* PLATFORM_UNIX */