From 76f8ff60794d655dd8b08fcb4a3be5d0a10ffd90 Mon Sep 17 00:00:00 2001
From: dr|z3d <z3d@i2pmail.org>
Date: Sun, 12 Sep 2021 23:27:52 +0000
Subject: [PATCH] Console: fixup ipv4/6 badges; don't show decimal points for 0
 bytes

(cherry picked from commit 4c25abe37f025dbd5b82d2ee33bcadbbd7b4230e)
---
 daemon/HTTPServer.cpp | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/daemon/HTTPServer.cpp b/daemon/HTTPServer.cpp
index 7217879f..a08a78b2 100644
--- a/daemon/HTTPServer.cpp
+++ b/daemon/HTTPServer.cpp
@@ -678,11 +678,11 @@ namespace http {
 	{
 		s << "<tr><td>" << tr("Network Status") << "</td><td id=\"netstatus\">";
 		if (i2p::context.SupportsV4 ()) {
-			s << "<span class=\"badge\">" >> tr("IPv4") << "</span>";
+			s << "<span class=\"badge\">" << tr("IPv4") << "</span> ";
 			ShowNetworkStatus (s, i2p::context.GetStatus ());
 		}
 		if (i2p::context.SupportsV6 ()) {
-			s << "<span class=\"badge\">" >> tr("IPv6") << "</span>";
+			s << "<span class=\"badge\">" << tr("IPv6") << "</span> ";
 			ShowNetworkStatus (s, i2p::context.GetStatusV6 ());
 		}
 		s << "</td></tr>\r\n";
@@ -703,7 +703,8 @@ namespace http {
 		s << "<tr><td>" << tr("Bandwidth") << "</td><td><span class=\"router recvd\">";
 		s << std::fixed << std::setprecision(0);
 		if (i2p::transport::transports.GetInBandwidth () > 1024*1024*1024 ||
-			i2p::transport::transports.GetInBandwidth () < 1024)
+			i2p::transport::transports.GetInBandwidth () < 1024 &&
+			i2p::transport::transports.GetInBandwidth () > 0)
 			s << std::fixed << std::setprecision(2);
 		else if (i2p::transport::transports.GetInBandwidth () > 1024*1024)
 			s << std::fixed << std::setprecision(1);
@@ -711,7 +712,8 @@ namespace http {
 		s << "</span> <span class=\"hide\">/</span> <span class=\"router sent\">";
 		s << std::fixed << std::setprecision(0);
 		if (i2p::transport::transports.GetOutBandwidth () > 1024*1024*1024 ||
-			i2p::transport::transports.GetOutBandwidth () < 1024)
+			i2p::transport::transports.GetOutBandwidth () < 1024 &&
+			i2p::transport::transports.GetOutBandwidth () > 0)
 			s << std::fixed << std::setprecision(2);
 		else if (i2p::transport::transports.GetOutBandwidth () > 1024*1024)
 			s << std::fixed << std::setprecision(1);
@@ -720,8 +722,10 @@ namespace http {
 
 		if ((i2p::context.AcceptsTunnels() || i2p::tunnel::tunnels.CountTransitTunnels()) &&
 			(i2p::transport::transports.GetTotalReceivedBytes () > 0)) {
+			s << std::fixed << std::setprecision(0);
 			if (i2p::transport::transports.GetTransitBandwidth () > 1024*1024*1024 ||
-				i2p::transport::transports.GetTransitBandwidth () < 1024)
+				i2p::transport::transports.GetTransitBandwidth () < 1024 &&
+				i2p::transport::transports.GetTransitBandwidth () > 0)
 				s << std::fixed << std::setprecision(2);
 			else if (i2p::transport::transports.GetTransitBandwidth () > 1024*1024)
 				s << std::fixed << std::setprecision(1);
@@ -752,13 +756,12 @@ namespace http {
 			(i2p::transport::transports.GetTotalReceivedBytes () > 0)) {
 			s << " <span class=\"hide\">/</span> <span class=\"transit sent\" data-tooltip=\"";
 			s << tr("Total transit data transferred") << "\">";
-			s << std::fixed << std::setprecision(0);
+			s << std::fixed << std::setprecision(0); // should set 0 bytes to no decimal places, but doesn't!
 			if (i2p::transport::transports.GetTotalTransitTransmittedBytes () > 1024*1024*1024)
 				s << std::fixed << std::setprecision(2);
 			else if (i2p::transport::transports.GetTotalTransitTransmittedBytes () > 1024*1024)
 				s << std::fixed << std::setprecision(1);
 			ShowTraffic (s, i2p::transport::transports.GetTotalTransitTransmittedBytes ());
-			s << std::fixed << std::setprecision(0);
 			s << "</span>";
 		}
 		s << "</td></tr>\r\n";