summaryrefslogtreecommitdiff
path: root/src/utmp-wtmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utmp-wtmp.c')
-rw-r--r--src/utmp-wtmp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/utmp-wtmp.c b/src/utmp-wtmp.c
index 41589303ba..83da640bf3 100644
--- a/src/utmp-wtmp.c
+++ b/src/utmp-wtmp.c
@@ -358,7 +358,7 @@ finish:
return r;
}
-int utmp_wall(const char *message) {
+int utmp_wall(const char *message, bool (*match_tty)(const char *tty)) {
struct utmpx *u;
char date[FORMAT_TIMESTAMP_MAX];
char *text = NULL, *hn = NULL, *un = NULL, *tty = NULL;
@@ -407,8 +407,9 @@ int utmp_wall(const char *message) {
path = buf;
}
- if ((q = write_to_terminal(path, text)) < 0)
- r = q;
+ if (!match_tty || match_tty(path))
+ if ((q = write_to_terminal(path, text)) < 0)
+ r = q;
free(buf);
}