mirror of
https://github.com/systemd/systemd.git
synced 2025-01-19 14:04:03 +03:00
util: use format_timestamp() instead of ctime() wherever possible
This commit is contained in:
parent
7774cdc1d8
commit
116205924e
@ -107,15 +107,10 @@ static void warn_wall(struct shutdownd_command *c) {
|
||||
if (c->wall_message[0])
|
||||
utmp_wall(c->wall_message);
|
||||
else {
|
||||
time_t s;
|
||||
char buf[27];
|
||||
char date[FORMAT_TIMESTAMP_MAX];
|
||||
const char* prefix;
|
||||
char *l;
|
||||
|
||||
s = c->elapse / USEC_PER_SEC;
|
||||
ctime_r(&s, buf);
|
||||
|
||||
|
||||
if (c->mode == 'H')
|
||||
prefix = "The system is going down for system halt at";
|
||||
else if (c->mode == 'P')
|
||||
@ -125,7 +120,9 @@ static void warn_wall(struct shutdownd_command *c) {
|
||||
else
|
||||
assert_not_reached("Unknown mode!");
|
||||
|
||||
if (asprintf(&l, "%s %s!", prefix, strstrip(buf)) < 0)
|
||||
if (asprintf(&l, "%s %s!",
|
||||
prefix,
|
||||
format_timestamp(date, sizeof(date), c->elapse)) < 0)
|
||||
log_error("Failed to allocate wall message");
|
||||
else {
|
||||
utmp_wall(l);
|
||||
@ -260,8 +257,7 @@ int main(int argc, char *argv[]) {
|
||||
goto finish;
|
||||
else if (k > 0 && c.elapse > 0) {
|
||||
struct itimerspec its;
|
||||
char buf[27];
|
||||
|
||||
char date[FORMAT_TIMESTAMP_MAX];
|
||||
|
||||
if (c.warn_wall) {
|
||||
/* Send wall messages every so often */
|
||||
@ -294,11 +290,9 @@ int main(int argc, char *argv[]) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
ctime_r(&its.it_value.tv_sec, buf);
|
||||
|
||||
sd_notifyf(false,
|
||||
"STATUS=Shutting down at %s...",
|
||||
strstrip(buf));
|
||||
format_timestamp(date, sizeof(date), c.elapse));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -290,10 +290,9 @@ finish:
|
||||
|
||||
int utmp_wall(const char *message) {
|
||||
struct utmpx *u;
|
||||
char date[26];
|
||||
char date[FORMAT_TIMESTAMP_MAX];
|
||||
char *text = NULL, *hn = NULL, *un = NULL, *tty = NULL;
|
||||
int r;
|
||||
time_t t;
|
||||
|
||||
if (!(hn = gethostname_malloc()) ||
|
||||
!(un = getlogname_malloc())) {
|
||||
@ -301,18 +300,16 @@ int utmp_wall(const char *message) {
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if ((r = getttyname_malloc(&tty)) < 0)
|
||||
goto finish;
|
||||
|
||||
time(&t);
|
||||
assert_se(ctime_r(&t, date));
|
||||
delete_chars(date, "\n\r");
|
||||
getttyname_malloc(&tty);
|
||||
|
||||
if (asprintf(&text,
|
||||
"\a\r\n"
|
||||
"Broadcast message from %s@%s on %s (%s):\r\n\r\n"
|
||||
"Broadcast message from %s@%s%s%s (%s):\r\n\r\n"
|
||||
"%s\r\n\r\n",
|
||||
un, hn, tty, date, message) < 0) {
|
||||
un, hn,
|
||||
tty ? " on " : "", strempty(tty),
|
||||
format_timestamp(date, sizeof(date), now(CLOCK_REALTIME)),
|
||||
message) < 0) {
|
||||
r = -ENOMEM;
|
||||
goto finish;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user