summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd')
-rw-r--r--mbbsd/bbs.c7
-rw-r--r--mbbsd/board.c8
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;