diff options
-rw-r--r-- | shell/ash.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/shell/ash.c b/shell/ash.c index 171740768..f581b5bdf 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -12508,7 +12508,7 @@ static const unsigned char timescmd_str[] ALIGN1 = { | |||
12508 | static int FAST_FUNC | 12508 | static int FAST_FUNC |
12509 | timescmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) | 12509 | timescmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) |
12510 | { | 12510 | { |
12511 | long clk_tck, s, t; | 12511 | unsigned long clk_tck, s, t; |
12512 | const unsigned char *p; | 12512 | const unsigned char *p; |
12513 | struct tms buf; | 12513 | struct tms buf; |
12514 | 12514 | ||
@@ -12519,9 +12519,10 @@ timescmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) | |||
12519 | do { | 12519 | do { |
12520 | t = *(clock_t *)(((char *) &buf) + p[1]); | 12520 | t = *(clock_t *)(((char *) &buf) + p[1]); |
12521 | s = t / clk_tck; | 12521 | s = t / clk_tck; |
12522 | out1fmt("%ldm%ld.%.3lds%c", | 12522 | t = t % clk_tck; |
12523 | s/60, s%60, | 12523 | out1fmt("%lum%lu.%03lus%c", |
12524 | ((t - s * clk_tck) * 1000) / clk_tck, | 12524 | s / 60, s % 60, |
12525 | (t * 1000) / clk_tck, | ||
12525 | p[0]); | 12526 | p[0]); |
12526 | p += 2; | 12527 | p += 2; |
12527 | } while (*p); | 12528 | } while (*p); |