From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilko Iliev Date: Tue, 21 Oct 2008 14:44:38 +0200 Subject: [U-Boot] [PATCH] improved strmhz() Message-ID: <48FDCEB6.9040206@ronetix.at> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This patch prevents the displaying of results like this: hz = 1999170000 buf = "200.-83" Signed-off-by: Ilko Iliev index 342cf2b..981a75a 100644 --- a/lib_generic/strmhz.c +++ b/lib_generic/strmhz.c @@ -28,10 +28,15 @@ char *strmhz (char *buf, long hz) long m; n = DIV_ROUND(hz, 1000000L); - l = sprintf (buf, "%ld", n); hz -= n * 1000000L; m = DIV_ROUND(hz, 1000L); + if ( m < 0 ) { + n--; + m += 1000L; + } + + l = sprintf (buf, "%ld", n); if (m != 0) sprintf (buf + l, ".%03ld", m); return (buf);