Update of /cvsroot/netrek/client/netrekxp/src
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9466

Modified Files:
        parsemeta.c 
Log Message:
identify version to metaserver, untested

Index: parsemeta.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/parsemeta.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- parsemeta.c 6 May 2009 21:40:49 -0000       1.45
+++ parsemeta.c 7 May 2009 06:52:00 -0000       1.46
@@ -55,6 +55,7 @@
 #include "struct.h"
 #include "data.h"
 #include "proto.h"
+#include "version.h"
 #ifdef METAPING
 #include <process.h>   // for _getpid
 #endif
@@ -354,6 +355,8 @@
   char *metaservers;           /* our copy of the metaserver host names */
   char *token;                 /* current metaserver host name          */
   struct sockaddr_in address;  /* the address of the metaservers        */
+  char *req;                   /* the request packet for the metaserver */
+  int reqlen;                  /* the length of the request packet      */
 
   /* create the socket */
   if (msock < 0) {
@@ -369,6 +372,9 @@
       closesocket(msock);
       return 0;
     }
+    req = malloc(80);
+    snprintf(req, 80, "?version=%s %s", version, mvers);
+    reqlen = strlen(req);
   }
 
   /* send request to a multicast metaserver on local area network */
@@ -378,7 +384,7 @@
   if (metaVerbose)
     LineToConsole ("Requesting player list from nearby servers on %s\n",
                     inet_ntoa(address.sin_addr));
-  if (sendto(msock, "?", 1, 0, (struct sockaddr *)&address,
+  if (sendto(msock, req, reqlen, 0, (struct sockaddr *)&address,
             sizeof(address)) < 0) {
     perror("ReadMetasSend: sendto");
   } else {
@@ -417,7 +423,7 @@
          if (metaVerbose)
             LineToConsole ("Requesting player list from metaserver %s at %s\n",
                             token, inet_ntoa(address.sin_addr));
-         if (sendto(msock, "?", 1, 0, (struct sockaddr *)&address,
+         if (sendto(msock, req, reqlen, 0, (struct sockaddr *)&address,
                sizeof(address)) < 0) {
            perror("ReadMetasSend: sendto");
          } else {
@@ -430,7 +436,7 @@
       if (metaVerbose)
         LineToConsole ("Requesting player list from metaserver %s\n",
                         inet_ntoa(address.sin_addr));
-      if (sendto(msock, "?", 1, 0, (struct sockaddr *)&address,
+      if (sendto(msock, req, reqlen, 0, (struct sockaddr *)&address,
        sizeof(address)) < 0) {
         perror("ReadMetasSend: sendto");
       } else {


_______________________________________________
netrek-cvs mailing list
[email protected]
http://mailman.us.netrek.org/mailman/listinfo/netrek-cvs

Reply via email to