added some code & compiler information to cmd_netinfo
[NeonServV5.git] / cmd_neonserv_netinfo.c
index baf926e176b163b2329e5268830d3b7ee9c08e7c..d7b1b7fe55c62aeaeb13955cb94b68fd52f288c0 100644 (file)
@@ -2,11 +2,12 @@
 /*
 * no args
 */
+
 static CMD_BIND(neonserv_cmd_netinfo) {
     reply(getTextBot(), user, "NS_NETINFO_HEADER");
     char tmp[MAXLEN];
     struct Table *table;
-    table = table_init(2, 5, 0);
+    table = table_init(2, 10, 0);
     char *content[2];
     
     content[0] = get_language_string(user, "NS_NETINFO_UPTIME");
@@ -16,7 +17,7 @@ static CMD_BIND(neonserv_cmd_netinfo) {
     content[0] = get_language_string(user, "NS_NETINFO_BOTS");
     struct ClientSocket *cclient;
     int bot_count = 0, connected_bot_count = 0;
-    unsigned long traffic_in = 0, traffic_out = 0;
+    float traffic_in = 0, traffic_out = 0;
     for(cclient = getBots(0, NULL); cclient; cclient = getBots(0, cclient)) {
         bot_count++;
         if(cclient->flags & SOCKET_FLAG_READY)
@@ -29,7 +30,7 @@ static CMD_BIND(neonserv_cmd_netinfo) {
     table_add(table, content);
     
     content[0] = get_language_string(user, "NS_NETINFO_TRAFFIC");
-    sprintf(tmp, "in: %lu kb  out: %lu kb", traffic_in / 1024, traffic_out / 1024);
+    sprintf(tmp, "in: %.2f kb  out: %.2f kb", traffic_in / 1024, traffic_out / 1024);
     content[1] = tmp;
     table_add(table, content);
     
@@ -42,25 +43,41 @@ static CMD_BIND(neonserv_cmd_netinfo) {
     float total_memory = channel_memory + user_memory + chanuser_memory;
     
     content[0] = get_language_string(user, "NS_NETINFO_CACHE");
-    sprintf(tmp, "%f kB (%f MB)", total_memory / 1024, total_memory / 1024 / 1024);
+    sprintf(tmp, "%.2f kB (%.2f MB)", total_memory / 1024, total_memory / 1024 / 1024);
     content[1] = tmp;
     table_add(table, content);
     
     content[0] = get_language_string(user, "NS_NETINFO_CHANNEL");
-    sprintf(tmp, "%d    %f kB (%d * %lu B = %f kB)", channel_count, channel_memory / 1024, channel_count, sizeof(struct ChanNode), channel_memory / 1024);
+    sprintf(tmp, "%d    %.2f kB (%d * %lu B = %.2f kB)", channel_count, channel_memory / 1024, channel_count, sizeof(struct ChanNode), channel_memory / 1024);
     content[1] = tmp;
     table_add(table, content);
     
     content[0] = get_language_string(user, "NS_NETINFO_USER");
-    sprintf(tmp, "%d    %f kB (%d * %lu B = %f kB)", user_count, user_memory / 1024, user_count, sizeof(struct UserNode), user_memory / 1024);
+    sprintf(tmp, "%d    %.2f kB (%d * %lu B = %.2f kB)", user_count, user_memory / 1024, user_count, sizeof(struct UserNode), user_memory / 1024);
     content[1] = tmp;
     table_add(table, content);
     
     content[0] = get_language_string(user, "NS_NETINFO_CHANUSER");
-    sprintf(tmp, "%d    %f kB (%d * %lu B = %f kB)", chanuser_count, chanuser_memory / 1024, chanuser_count, sizeof(struct ChanUser), chanuser_memory / 1024);
+    sprintf(tmp, "%d    %.2f kB (%d * %lu B = %.2f kB)", chanuser_count, chanuser_memory / 1024, chanuser_count, sizeof(struct ChanUser), chanuser_memory / 1024);
     content[1] = tmp;
     table_add(table, content);
     
+    if(strcmp(revision, ""))
+        sprintf(tmp, "%s  (%s)", NEONSERV_VERSION, revision);
+    else 
+        strcpy(tmp, NEONSERV_VERSION);
+    content[0] = get_language_string(user, "NS_NETINFO_VERSION");
+    content[1] = tmp;
+    table_add(table, content);
+    
+    content[0] = get_language_string(user, "NS_NETINFO_COMPILER");
+    content[1] = build_language_string(user, tmp, "NS_NETINFO_COMPILER_VALUE", COMPILER, creation);
+    table_add(table, content);
+    
+    content[0] = get_language_string(user, "NS_NETINFO_CODE");
+    content[1] = build_language_string(user, tmp, "NS_NETINFO_CODE_VALUE", codelines);
+    table_add(table, content);
+    
     char **table_lines = table_end(table);
     int i;
     for(i = 0; i < table->entrys; i++) {
@@ -68,3 +85,4 @@ static CMD_BIND(neonserv_cmd_netinfo) {
     }
     table_free(table);
 }
+