[git commit master 1/1] ash: times builtin: use unsigned type; take free-of-charge modulo
Denys Vlasenko
vda.linux at googlemail.com
Fri Jun 18 13:36:48 UTC 2010
commit: http://git.busybox.net/busybox/commit/?id=8cd9f343e74ca65f36c42a44e845716ba5411663
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
shell/ash.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/shell/ash.c b/shell/ash.c
index 1717407..f581b5b 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12508,7 +12508,7 @@ static const unsigned char timescmd_str[] ALIGN1 = {
static int FAST_FUNC
timescmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
{
- long clk_tck, s, t;
+ unsigned long clk_tck, s, t;
const unsigned char *p;
struct tms buf;
@@ -12519,9 +12519,10 @@ timescmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
do {
t = *(clock_t *)(((char *) &buf) + p[1]);
s = t / clk_tck;
- out1fmt("%ldm%ld.%.3lds%c",
- s/60, s%60,
- ((t - s * clk_tck) * 1000) / clk_tck,
+ t = t % clk_tck;
+ out1fmt("%lum%lu.%03lus%c",
+ s / 60, s % 60,
+ (t * 1000) / clk_tck,
p[0]);
p += 2;
} while (*p);
--
1.7.1
More information about the busybox-cvs
mailing list