]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
patch from div0 to clamp ping reports to 1-9999 range in getinfo server queries
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 14 Jan 2007 09:51:52 +0000 (09:51 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 14 Jan 2007 09:51:52 +0000 (09:51 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6687 d7cf8633-e32d-0410-b094-e92efae38249

netconn.c

index 586507ac58fe4d15bd874611e4aeb6a19005b8ed..598199beb15aeeaa0c395de4dee548cb29833ecf 100755 (executable)
--- a/netconn.c
+++ b/netconn.c
@@ -1700,7 +1700,7 @@ static qboolean NetConn_BuildStatusResponse(const char* challenge, char* out_msg
                        client_t *cl = &svs.clients[i];
                        if (cl->active)
                        {
-                               int nameind, cleanind;
+                               int nameind, cleanind, pingvalue;
                                char curchar;
                                char cleanname [sizeof(cl->name)];
 
@@ -1718,9 +1718,14 @@ static qboolean NetConn_BuildStatusResponse(const char* challenge, char* out_msg
                                        }
                                } while (curchar != '\0');
 
+                               pingvalue = (int)(cl->ping * 1000.0f);
+                               if(cl->netconnection)
+                                       pingvalue = bound(1, pingvalue, 9999);
+                               else
+                                       pingvalue = 0;
                                length = dpsnprintf(ptr, left, "%d %d \"%s\"\n",
                                                                        cl->frags,
-                                                                       (int)(cl->ping * 1000.0f),
+                                                                       pingvalue,
                                                                        cleanname);
                                if(length < 0)
                                        return false;