Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv16125/src

Modified Files:
        parsemeta.c 
Log Message:
Minor release date updates.
Formalize max lifetime for servers in cache.  Check against out of bounds
lifetime before saving.

Index: parsemeta.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/parsemeta.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- parsemeta.c 4 Mar 2007 22:27:13 -0000       1.34
+++ parsemeta.c 7 Mar 2007 00:11:46 -0000       1.35
@@ -71,6 +71,7 @@
 static int seen = 0;           /* number of replies seen                       
*/
 static int type;               /* type of connection requested                 
*/
 #define RTT_AVG_BUFLEN  5      /* number of samples used for average rtt time  
*/
+#define MAX_LIFETIME   5       /* max # connects for server to stay in cache   
*/
 
     /* from meta.h of metaserver code */
 #define SS_WORKING 0
@@ -598,12 +599,12 @@
        sp->age = (int)now - (int)(sp->when-sp->age);
        sp->when = now;
        sp->refresh = 1;
-       sp->lifetime = 5;
+       sp->lifetime = MAX_LIFETIME;
        continue;
       } else {
        sp->age = age;
        sp->when = now;
-       sp->lifetime = 5;
+       sp->lifetime = MAX_LIFETIME;
       }
     } 
     /* Use converted status and player values */
@@ -689,7 +690,7 @@
   sp->age = 0;
   sp->when = now;
   sp->refresh = 1;
-  sp->lifetime = 5;
+  sp->lifetime = MAX_LIFETIME;
   sp->players = players;
   sp->status = statusOpen;
   sp->typeflag = type;
@@ -854,7 +855,8 @@
           serverlist[i].port,
           serverlist[i].when,
           serverlist[i].age,
-          serverlist[i].lifetime,
+          // Protect against corrupted data so at least lifetimes clear quickly
+          ((serverlist[i].lifetime > MAX_LIFETIME) ? MAX_LIFETIME : 
serverlist[i].lifetime), 
           serverlist[i].players,
           ((serverlist[i].status <= statusNull) ? serverlist[i].status : 
statusNull),
           serverlist[i].typeflag);


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

Reply via email to