diff options
author | Sami Kerola | 2016-05-07 22:07:44 +0200 |
---|---|---|
committer | Sami Kerola | 2016-07-01 23:07:02 +0200 |
commit | a07943926612bd62bf302b50537616b0917c8a63 (patch) | |
tree | 5c18f2c25fba93fdb78359ffcc8b7f5d991fbb79 | |
parent | write: remove unnecessary utmp variables (diff) | |
download | kernel-qcow2-util-linux-a07943926612bd62bf302b50537616b0917c8a63.tar.gz kernel-qcow2-util-linux-a07943926612bd62bf302b50537616b0917c8a63.tar.xz kernel-qcow2-util-linux-a07943926612bd62bf302b50537616b0917c8a63.zip |
write: make timestamp to be obviously just a clock time
By looking the code one will had hard time knowing that a slice of ctime()
from characters 11 to 16 is HH:MM time format. Use of strftime("%H:%M")
makes this a lot less mysterious.
In same go make \007 hex printouts to be \a that is the same thing: alarm.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
-rw-r--r-- | term-utils/write.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/term-utils/write.c b/term-utils/write.c index 8288e9d32..696a7a795 100644 --- a/term-utils/write.c +++ b/term-utils/write.c @@ -239,9 +239,10 @@ static void write_line(char *s) */ static void do_write(const struct write_control *ctl) { - char *login, *pwuid, *time_stamp; + char *login, *pwuid, timestamp[6]; struct passwd *pwd; time_t now; + struct tm *tm; char path[PATH_MAX], *host, line[512]; struct sigaction sigact; @@ -265,21 +266,21 @@ static void do_write(const struct write_control *ctl) sigaction(SIGINT, &sigact, NULL); sigaction(SIGHUP, &sigact, NULL); - /* print greeting */ host = xgethostname(); if (!host) host = xstrdup("???"); - now = time((time_t *) NULL); - time_stamp = ctime(&now); - time_stamp[16] = '\0'; - printf("\r\n\007\007\007"); + now = time((time_t *)NULL); + tm = localtime(&now); + strftime(timestamp, sizeof(timestamp), "%H:%M", tm); + /* print greeting */ + printf("\r\n\a\a\a"); if (strcmp(login, pwuid)) printf(_("Message from %s@%s (as %s) on %s at %s ..."), - login, host, pwuid, ctl->src_tty, time_stamp + 11); + login, host, pwuid, ctl->src_tty, timestamp); else printf(_("Message from %s@%s on %s at %s ..."), - login, host, ctl->src_tty, time_stamp + 11); + login, host, ctl->src_tty, timestamp); free(host); printf("\r\n"); |