diff --git a/common/utility.hpp b/common/utility.hpp index 5c494e7..91bf5f8 100644 --- a/common/utility.hpp +++ b/common/utility.hpp @@ -8,6 +8,7 @@ class Utility { public: + static String formatNumber(size_t number,bool commas=true); static String formatNumber(long number,bool commas=true); static String formatNumber(double number,bool commas=true); static String formatNumber(double number,int places=2); @@ -59,6 +60,15 @@ String Utility::bytesTransferredToString(double bytesTransferred) return Utility::formatNumber(roundedValue,2) + "B/s"; } +inline +String Utility::formatNumber(size_t number, bool commas) +{ + String formattedString; + String format="%lu"; + ::sprintf(formattedString.str(),format,number); + return addCommas(formattedString); +} + inline String Utility::formatNumber(long number,bool commas) { diff --git a/sstp/socketconnectionreceiver.cpp b/sstp/socketconnectionreceiver.cpp index 1ae1f3e..6dbf1a4 100644 --- a/sstp/socketconnectionreceiver.cpp +++ b/sstp/socketconnectionreceiver.cpp @@ -95,7 +95,7 @@ bool SocketConnectionReceiver::handlePut(Block &commands) totalBytesRead+=bytes_read; if(bufferLength!=bytes_read) { - std::cout << "Send/Receive size mismatch. The client indicated a data length of " << bufferLength << " but a data length of " << bytes_read << " was received"; + std::cout << "Send/Receive size mismatch. The client indicated a data length of " << Utility::formatNumber(bufferLength) << " but a data length of " << Utility::formatNumber(bytes_read) << " was received"; break; } writeFile.write(&receiveBuffer[0], receiveBuffer.size()); @@ -106,12 +106,12 @@ bool SocketConnectionReceiver::handlePut(Block &commands) double elapsedTimeSeconds = profiler.elapsed()/1000.00; double bytesPerSecond = totalBytesRead / elapsedTimeSeconds; String strBytesPerSecond = Utility::bytesTransferredToString(bytesPerSecond); - std::cout << "Transferred " << totalBytesRead << " of " << fileLength << " " << percent << " percent " << strBytesPerSecond << std::endl; + std::cout << "Transferred " << Utility::formatNumber(totalBytesRead) << " of " << Utility::formatNumber(fileLength) << " " << percent << " percent " << strBytesPerSecond << std::endl; } } std::cout << "Transfer complete" << std::endl; - std::cout << "Received " << totalBytesRead << " in " << Utility::formatNumber(profiler.end()) << "(ms)" << std::endl; + std::cout << "Received " << Utility::formatNumber(totalBytesRead) << " in " << Utility::formatNumber(profiler.end()) << "(ms)" << std::endl; writeFile.close(); return totalBytesRead==fileLength; }