summaryrefslogtreecommitdiffstats
path: root/mbbsd/talk.c
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-10-05 09:03:12 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-10-05 09:03:12 +0800
commit3eced116f16e16fdf08c65c189ac7b2c1cd83232 (patch)
treef1d89dd97ce9a78c9b7034cd1d0d88f66183ef84 /mbbsd/talk.c
parent2e0a596fcdfbb85c327cc2ede3648f10ef113d2b (diff)
downloadpttbbs-3eced116f16e16fdf08c65c189ac7b2c1cd83232.tar
pttbbs-3eced116f16e16fdf08c65c189ac7b2c1cd83232.tar.gz
pttbbs-3eced116f16e16fdf08c65c189ac7b2c1cd83232.tar.bz2
pttbbs-3eced116f16e16fdf08c65c189ac7b2c1cd83232.tar.lz
pttbbs-3eced116f16e16fdf08c65c189ac7b2c1cd83232.tar.xz
pttbbs-3eced116f16e16fdf08c65c189ac7b2c1cd83232.tar.zst
pttbbs-3eced116f16e16fdf08c65c189ac7b2c1cd83232.zip
use bsearch in login_friend_online()
save cpu but increase SHM_t (sizeof(short) * MAX_ACTIVE) bytes WARNING: SHM_t has been changed git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@1212 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/talk.c')
-rw-r--r--mbbsd/talk.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/mbbsd/talk.c b/mbbsd/talk.c
index a576fbf4..9633570d 100644
--- a/mbbsd/talk.c
+++ b/mbbsd/talk.c
@@ -155,33 +155,20 @@ modestring(userinfo_t * uentp, int simple)
int
set_friend_bit(userinfo_t * me, userinfo_t * ui)
{
- int unum, *myfriends, hit = 0, n;
+ int unum, *myfriends, hit = 0;
/* 判斷對方是否為我的朋友 ? */
- unum = ui->uid;
- myfriends = me->friend;
- while ((n = *myfriends++)) {
- if (unum == n) {
- hit = IFH;
- break;
- }
- }
+ if( intbsearch(ui->uid, me->friend, me->nFriends) )
+ hit = IFH;
/* 判斷我是否為對方的朋友 ? */
- myfriends = ui->friend;
- while ((unum = *myfriends++)) {
- if (unum == me->uid) {
- hit |= HFM;
- break;
- }
- }
+ if( intbsearch(me->uid, ui->friend, ui->nFriends) )
+ hit |= HFM;
/* 判斷對方是否為我的仇人 ? */
-
- unum = ui->uid;
myfriends = me->reject;
- while ((n = *myfriends++)) {
- if (unum == n) {
+ while ((unum = *myfriends++)) {
+ if (unum == ui->uid) {
hit |= IRH;
break;
}