From b989d26e1182a3ee8cf62f3ee79dfb231fd66e23 Mon Sep 17 00:00:00 2001
From: HarpyWar <harpywar@gmail.com>
Date: Mon, 16 Apr 2012 08:03:07 +0400
Subject: [PATCH] Added game id field in status.xml output

Example:
...
		<Users>
		<Number>1</Number>
		<user><name>HarpyWar</name><clienttag>SEXP</clienttag><version>1.16.1.1</version></user>
<gameid>32</gameid></user>
		</Users>
		<Games>
		<Number>1</Number>
		<game><id>32</id><name>test</name><clienttag>SEXP</clienttag></game>
		</Games>
...
---
 pvpgn/src/bnetd/output.cpp | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/pvpgn/src/bnetd/output.cpp b/pvpgn/src/bnetd/output.cpp
index 12a6768..b5d0c92 100644
--- a/pvpgn/src/bnetd/output.cpp
+++ b/pvpgn/src/bnetd/output.cpp
@@ -69,7 +69,7 @@ static int _glist_cb_xml(t_game *game, void *data)
 {
     char clienttag_str[5];
 
-    std::fprintf((std::FILE*)data,"\t\t<game><name>%s</name><clienttag>%s</clienttag></game>\n",game_get_name(game),tag_uint_to_str(clienttag_str,game_get_clienttag(game)));
+    std::fprintf((std::FILE*)data,"\t\t<game><id>%u</id><name>%s</name><clienttag>%s</clienttag></game>\n",game_get_id(game),game_get_name(game),tag_uint_to_str(clienttag_str,game_get_clienttag(game)));
 
     return 0;
 }
@@ -127,8 +127,12 @@ int output_standard_writer(std::FILE * fp)
 	{
 	    conn = (t_connection*)elem_get_data(curr);
 	    if (conn_get_account(conn))
-		std::fprintf(fp,"\t\t<user><name>%s</name><clienttag>%s</clienttag><version>%s</version></user>\n",conn_get_username(conn),tag_uint_to_str(clienttag_str,conn_get_clienttag(conn)),conn_get_clientver(conn));
-        }
+			std::fprintf(fp,"\t\t<user><name>%s</name><clienttag>%s</clienttag><version>%s</version>",conn_get_username(conn),tag_uint_to_str(clienttag_str,conn_get_clienttag(conn)),conn_get_clientver(conn));
+			
+			if ((game = conn_get_game(conn)))
+				std::fprintf(fp,"<gameid>%u</gameid>", game_get_id(game));
+			fprintf(fp,"</user>\n");
+    }
 
 	std::fprintf(fp,"\t\t</Users>\n");
 	std::fprintf(fp,"\t\t<Games>\n");