diff options
Diffstat (limited to 'src/utmp-wtmp.c')
-rw-r--r-- | src/utmp-wtmp.c | 7 |
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); } |