From 9a69c6b096412889dd889c7f2db0f55f22502caa Mon Sep 17 00:00:00 2001 From: piaip Date: Tue, 22 Apr 2008 01:32:00 +0000 Subject: - add 'search only for local boards' back in Ctrl-S. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4227 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/board.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'mbbsd') diff --git a/mbbsd/board.c b/mbbsd/board.c index 60c23aac..3777079f 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -1016,6 +1016,31 @@ load_boards(char *key) } } +static int +search_local_board() +{ + int num; + char genbuf[IDLEN + 2]; + struct NameList namelist; + + move(0, 0); + clrtoeol(); + NameList_init(&namelist); + assert(brdnum<=nbrdsize); + NameList_resizefor(&namelist, brdnum); + for (num = 0; num < brdnum; num++) + if (!IS_LISTING_FAV() || + (nbrd[num].myattr & NBRD_BOARD && HasBoardPerm(B_BH(&nbrd[num]))) ) + NameList_add(&namelist, B_BH(&nbrd[num])->brdname); + namecomplete2(&namelist, "¡i ·j´M©Ò¦b¦ì¸m¬ÝªO ¡j", genbuf); + NameList_delete(&namelist); + + for (num = 0; num < brdnum; num++) + if (!strcasecmp(B_BH(&nbrd[num])->brdname, genbuf)) + return num; + return -1; +} + static int search_board(const char *bname) { @@ -1580,6 +1605,12 @@ choose_board(int newflag) } show_brdlist(head, 0, newflag); break; + case Ctrl('S'): + head = -1; + if ((tmp = search_local_board()) != -1) { + num = tmp; + } + break; case 's': { char bname[IDLEN*2]; -- cgit v1.2.3