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>
This commit is contained in:
@ -69,7 +69,6 @@ int watch_main(int argc UNUSED_PARAM, char **argv)
|
||||
printf("\033[H""\033[J");
|
||||
if (!(opt & 0x2)) { // no -t
|
||||
const unsigned time_len = sizeof("1234-67-90 23:56:89");
|
||||
time_t t;
|
||||
|
||||
// STDERR_FILENO is procps3 compat:
|
||||
// "watch ls 2>/dev/null" does not detect tty size
|
||||
@ -79,10 +78,13 @@ int watch_main(int argc UNUSED_PARAM, char **argv)
|
||||
free(header);
|
||||
header = xasprintf("Every %us: %-*s", period, (int)width, cmd);
|
||||
}
|
||||
time(&t);
|
||||
if (time_len < width)
|
||||
strftime(header + width - time_len, time_len,
|
||||
"%Y-%m-%d %H:%M:%S", localtime(&t));
|
||||
if (time_len < width) {
|
||||
strftime_YYYYMMDDHHMMSS(
|
||||
header + width - time_len,
|
||||
time_len,
|
||||
/*time_t*:*/ NULL
|
||||
);
|
||||
}
|
||||
|
||||
// compat: empty line between header and cmd output
|
||||
printf("%s\n\n", header);
|
||||
|
Reference in New Issue
Block a user