diff --git a/campcaster/src/modules/core/src/TimeConversion.cxx b/campcaster/src/modules/core/src/TimeConversion.cxx index 6d32e1c57..087124a32 100644 --- a/campcaster/src/modules/core/src/TimeConversion.cxx +++ b/campcaster/src/modules/core/src/TimeConversion.cxx @@ -205,21 +205,32 @@ TimeConversion :: timeDurationToHhMmSsString( Ptr::Ref duration) throw () { + int hours = duration->hours(); + int minutes = duration->minutes(); + int seconds = duration->seconds(); + + if (duration->fractional_seconds() >= 500000) { + ++seconds; + } + if (seconds == 60) { + seconds = 0; + ++minutes; + } + if (minutes == 60) { + minutes = 0; + ++hours; + } + std::stringstream stringStream; stringStream << std::dec << std::setw(2) << std::setfill('0') - << duration->hours() + << hours << ":" << std::setw(2) << std::setfill('0') - << duration->minutes(); - - int seconds = duration->seconds(); - if (duration->fractional_seconds() >= 500000) { - ++seconds; - } - stringStream << ":" + << minutes + << ":" << std::setw(2) << std::setfill('0') << seconds;