diff options
author | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2002-06-01 08:34:49 +0800 |
---|---|---|
committer | ptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2002-06-01 08:34:49 +0800 |
commit | 78623931514f6b4894d82e050a3c8b668193b4a8 (patch) | |
tree | 430fe70ff348282c28e633f628976fcd5a62dafc /mbbsd | |
parent | a7ea61462a6557784eb4858bfe0066f64ffa8262 (diff) | |
download | pttbbs-78623931514f6b4894d82e050a3c8b668193b4a8.tar pttbbs-78623931514f6b4894d82e050a3c8b668193b4a8.tar.gz pttbbs-78623931514f6b4894d82e050a3c8b668193b4a8.tar.bz2 pttbbs-78623931514f6b4894d82e050a3c8b668193b4a8.tar.lz pttbbs-78623931514f6b4894d82e050a3c8b668193b4a8.tar.xz pttbbs-78623931514f6b4894d82e050a3c8b668193b4a8.tar.zst pttbbs-78623931514f6b4894d82e050a3c8b668193b4a8.zip |
*** empty log message ***
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@265 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/bbs.c | 21 | ||||
-rw-r--r-- | mbbsd/talk.c | 9 |
2 files changed, 16 insertions, 14 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index 3393baaf..aec95937 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -1,4 +1,4 @@ -/* $Id: bbs.c,v 1.44 2002/05/31 03:22:31 in2 Exp $ */ +/* $Id: bbs.c,v 1.45 2002/06/01 00:34:49 ptt Exp $ */ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -158,8 +158,7 @@ extern char currtitle[TTLEN + 1]; extern int Tagger(); static void readdoent(int num, fileheader_t *ent) { - int type; - userinfo_t *u; + int type,uid; char *mark, *title, color, special=0, isonline=0; if(ent->recommend>9 || ent->recommend <0 ) ent->recommend=0; //Ptt:暫時 @@ -188,9 +187,9 @@ static void readdoent(int num, fileheader_t *ent) { strcpy(title + 44, " …"); /* 把多餘的 string 砍掉 */ if(!strncmp(title,"[公告]",6)) special=1; - if((u=search_ulist (searchuser(ent->owner)))&& - !u->invisible && !PERM_HIDE(u)) - isonline=1; + if(!strchr(ent->owner, '.') && (uid=searchuser(ent->owner)) && + isvisible_uid(uid)) + isonline=1; if(strncmp(currtitle, title, TTLEN)) prints("%6d %c\033[1;32m%c\033[m%-6s\033[%dm%-13.12s\033[m%s " @@ -683,8 +682,14 @@ int invalid_brdname(char *brd) { static int b_call_in(int ent, fileheader_t *fhdr, char *direct) { userinfo_t *u=search_ulist (searchuser(fhdr->owner)); - if(u && call_in(u,friend_stat(currutmp, u)) ) - return FULLUPDATE; + int fri_stat; + if(u ) + { + fri_stat= friend_stat(currutmp, u); + if(isvisible_stat(currutmp, u, fri_stat) && + call_in(u, fri_stat)) + return FULLUPDATE; + } return DONOTHING; } static void do_reply(fileheader_t *fhdr) { diff --git a/mbbsd/talk.c b/mbbsd/talk.c index a6eeba5b..2097417f 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -1,4 +1,4 @@ -/* $Id: talk.c,v 1.53 2002/05/31 07:45:41 lwms Exp $ */ +/* $Id: talk.c,v 1.54 2002/06/01 00:34:49 ptt Exp $ */ #include <stdio.h> #include <string.h> #include <errno.h> @@ -1755,12 +1755,9 @@ int call_in(userinfo_t *uentp, int fri_stat) char genbuf[60]; if( HAS_PERM(PERM_LOGINOK) && uentp->pid != currpid && - strcmp(uentp->userid, cuser.userid) != 0 && (HAS_PERM(PERM_SYSOP) || - (!uentp->invisible && - !(fri_stat & HRM) && - uentp->pager != 3 && - (fri_stat & HFM || uentp->pager != 4))) ){ + (uentp->pager != 3 && + (fri_stat & HFM || uentp->pager != 4))) ){ sprintf(genbuf, "Call-In %s :", uentp->userid); my_write(uentp->pid, genbuf, uentp->userid, 0, NULL); return 1; |