summaryrefslogtreecommitdiff
path: root/src/systemctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemctl.c')
-rw-r--r--src/systemctl.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/systemctl.c b/src/systemctl.c
index 447a24458a..68e4a909eb 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -39,6 +39,7 @@
#include "utmp-wtmp.h"
#include "special.h"
#include "initreq.h"
+#include "strv.h"
static const char *arg_type = NULL;
static bool arg_all = false;
@@ -139,6 +140,23 @@ static void warn_wall(enum action action) {
if (arg_no_wall)
return;
+ if (arg_wall) {
+ char *p;
+
+ if (!(p = strv_join(arg_wall, " "))) {
+ log_error("Failed to join strings.");
+ return;
+ }
+
+ if (*p) {
+ utmp_wall(p);
+ free(p);
+ return;
+ }
+
+ free(p);
+ }
+
if (!table[action])
return;