summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-08-22 23:37:39 +0200
committerCarl Hetherington <cth@carlh.net>2025-08-25 11:22:27 +0200
commit3b9402e620a83d8d23d9df334c4c40fa091c0b6f (patch)
tree61cdddeeac390c0d0a0083a1c46b511b3dfbdc0e
parenta287357a725f5ffae3f67710f64cb0d59b51011a (diff)
Use 0-padded numbers for all fields of a timecode.
-rw-r--r--src/lib/util.cc2
-rw-r--r--test/util_test.cc10
2 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/util.cc b/src/lib/util.cc
index fb9c1bb2d..310f6dd66 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -171,7 +171,7 @@ time_to_hmsf(DCPTime time, Frame rate)
m -= h * 60;
char buffer[64];
- snprintf(buffer, sizeof(buffer), "%d:%02d:%02d.%d", h, m, s, static_cast<int>(f));
+ snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d.%02d", h, m, s, static_cast<int>(f));
return buffer;
}
diff --git a/test/util_test.cc b/test/util_test.cc
index a565dde57..3431d1856 100644
--- a/test/util_test.cc
+++ b/test/util_test.cc
@@ -93,11 +93,11 @@ BOOST_AUTO_TEST_CASE(seconds_to_approximate_hms_test)
BOOST_AUTO_TEST_CASE(time_to_hmsf_test)
{
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(12, 24), 24), "0:00:00.12");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(24, 24), 24), "0:00:01.0");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(32, 24), 24), "0:00:01.8");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(92), 24), "0:01:32.0");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(2 * 60 * 60 + 92), 24), "2:01:32.0");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(12, 24), 24), "00:00:00.12");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(24, 24), 24), "00:00:01.00");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(32, 24), 24), "00:00:01.08");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(92), 24), "00:01:32.00");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(2 * 60 * 60 + 92), 24), "02:01:32.00");
}