From a547531bf1be0d263a76c1ce53605d70d9a9740b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Sat, 14 Jan 2017 20:48:08 +0100 Subject: [PATCH] strutil: Fix sr_period_string output The output was wrong for all frequencies but 1 Hz, 1 kHz, 1 MHz and 1 GHz. With this changes, the output may still be off due to rounding, but will be correct as to the shown accuracy. --- src/strutil.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/strutil.c b/src/strutil.c index fc6c7580..4b5b9ec7 100644 --- a/src/strutil.c +++ b/src/strutil.c @@ -369,13 +369,13 @@ SR_API char *sr_period_string(uint64_t frequency) o = g_malloc0(30 + 1); if (frequency >= SR_GHZ(1)) - r = snprintf(o, 30, "%" PRIu64 " ns", frequency / 1000000000); + r = snprintf(o, 30, "%lld ps", 1000000000000ull / frequency); else if (frequency >= SR_MHZ(1)) - r = snprintf(o, 30, "%" PRIu64 " us", frequency / 1000000); + r = snprintf(o, 30, "%lld ns", 1000000000ull / frequency); else if (frequency >= SR_KHZ(1)) - r = snprintf(o, 30, "%" PRIu64 " ms", frequency / 1000); + r = snprintf(o, 30, "%lld us", 1000000ull / frequency); else - r = snprintf(o, 30, "%" PRIu64 " s", frequency); + r = snprintf(o, 30, "%lld ms", 1000ull / frequency); if (r < 0) { /* Something went wrong... */