summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-06-01 08:34:49 +0800
committerptt <ptt@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-06-01 08:34:49 +0800
commit78623931514f6b4894d82e050a3c8b668193b4a8 (patch)
tree430fe70ff348282c28e633f628976fcd5a62dafc
parenta7ea61462a6557784eb4858bfe0066f64ffa8262 (diff)
downloadpttbbs-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
-rw-r--r--mbbsd/bbs.c21
-rw-r--r--mbbsd/talk.c9
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;