diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2013-03-29 12:30:33 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2013-03-29 12:30:33 +0100 |
commit | 8f2cb7ab26b9c720c24cdeffb624bfe0c2352353 (patch) | |
tree | 8d76825f24632d338118919b0553f542fdd3a8aa /procps | |
parent | 6c852bfcadd78f53ec7a5f35882636a2a4a66eb0 (diff) | |
download | busybox-w32-8f2cb7ab26b9c720c24cdeffb624bfe0c2352353.tar.gz busybox-w32-8f2cb7ab26b9c720c24cdeffb624bfe0c2352353.tar.bz2 busybox-w32-8f2cb7ab26b9c720c24cdeffb624bfe0c2352353.zip |
libbb: introduce and use strftime_[YYYYMMDD]HHMMSS()
function old new delta
strftime_fmt - 53 +53
strftime_YYYYMMDDHHMMSS - 12 +12
strftime_HHMMSS - 12 +12
human_time 44 43 -1
fmtstr_t 9 - -9
step_time 361 345 -16
watch_main 261 232 -29
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 0/3 up/down: 77/-55) Total: 22 bytes
text data bss dec hex filename
919203 932 17692 937827 e4f63 busybox_old
919209 932 17692 937833 e4f69 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'procps')
-rw-r--r-- | procps/watch.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/procps/watch.c b/procps/watch.c index 36af1cca7..0397f21bf 100644 --- a/procps/watch.c +++ b/procps/watch.c | |||
@@ -69,7 +69,6 @@ int watch_main(int argc UNUSED_PARAM, char **argv) | |||
69 | printf("\033[H""\033[J"); | 69 | printf("\033[H""\033[J"); |
70 | if (!(opt & 0x2)) { // no -t | 70 | if (!(opt & 0x2)) { // no -t |
71 | const unsigned time_len = sizeof("1234-67-90 23:56:89"); | 71 | const unsigned time_len = sizeof("1234-67-90 23:56:89"); |
72 | time_t t; | ||
73 | 72 | ||
74 | // STDERR_FILENO is procps3 compat: | 73 | // STDERR_FILENO is procps3 compat: |
75 | // "watch ls 2>/dev/null" does not detect tty size | 74 | // "watch ls 2>/dev/null" does not detect tty size |
@@ -79,10 +78,13 @@ int watch_main(int argc UNUSED_PARAM, char **argv) | |||
79 | free(header); | 78 | free(header); |
80 | header = xasprintf("Every %us: %-*s", period, (int)width, cmd); | 79 | header = xasprintf("Every %us: %-*s", period, (int)width, cmd); |
81 | } | 80 | } |
82 | time(&t); | 81 | if (time_len < width) { |
83 | if (time_len < width) | 82 | strftime_YYYYMMDDHHMMSS( |
84 | strftime(header + width - time_len, time_len, | 83 | header + width - time_len, |
85 | "%Y-%m-%d %H:%M:%S", localtime(&t)); | 84 | time_len, |
85 | /*time_t*:*/ NULL | ||
86 | ); | ||
87 | } | ||
86 | 88 | ||
87 | // compat: empty line between header and cmd output | 89 | // compat: empty line between header and cmd output |
88 | printf("%s\n\n", header); | 90 | printf("%s\n\n", header); |