diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/menu.c | 6 | ||||
-rw-r--r-- | mbbsd/talk.c | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/mbbsd/menu.c b/mbbsd/menu.c index 035cf1ef..fd515146 100644 --- a/mbbsd/menu.c +++ b/mbbsd/menu.c @@ -140,6 +140,12 @@ ZA_Waiting(void) return (zacmd != 0); } +void +ZA_Drop(void) +{ + zacmd = 0; +} + // Promp user our ZA bar and return for selection. int ZA_Select(void) diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 013b9885..099006e4 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -3061,6 +3061,14 @@ t_users(void) abort_bbs(0); } + // cannot do ZA for re-entrant. + // usually happens when doing ^U, ^Z with non-return + // env like editor. + if (ZA_Waiting()) + ZA_Drop(); + + // TODO drop if we were already in t_users? + setutmpmode(LUSERS); userlist(); currutmp->mode = mode0; |