diff options
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/bbs.c | 7 | ||||
-rw-r--r-- | mbbsd/board.c | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index 5baf189e..40c70a89 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -4046,19 +4046,24 @@ Read(void) return 0; } -void +int ReadSelect(void) { int mode0 = currutmp->mode; int stat0 = currstat; + int changed = 0; currstat = SELECT; if (do_select() == NEWDIRECT) + { Read(); + changed = 1; + } // no need to set utmpbid here... // setutmpbid(0); currutmp->mode = mode0; currstat = stat0; + return changed; } #ifdef LOG_BOARD diff --git a/mbbsd/board.c b/mbbsd/board.c index d6816ff0..b9fcdbf7 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -1548,15 +1548,17 @@ choose_board(int newflag) break; case 's': { - int cbid = currbid; + // XXX TODO + // 現在這樣搜不到群組... + // // try global search instead. - ReadSelect(); + int trysearch = ReadSelect(); // restore my mode setutmpmode(newflag ? READNEW : READBRD); // force refresh head = -1; // try to match cursor if we can. - if (cbid != currbid && currbid && currboard) + if (trysearch && currboard) { if ((tmp = search_board(currboard)) != -1) num = tmp; |