☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 于 (Sat Dec 27 01:10:06 2003) 提到:
1、在permission里面增加一个#define DEF_COLORAUTHOR 0x400000000
2、在main.c的user_login()最后面增加
setuserfile(fname, "Colors");
onlinecolor = 32; /* 缺省绿色 */
if ((fp = fopen(fname, "r")) != NULL) {
if (fgets(buf, STRLEN, fp) != NULL) {
onlinecolor = atoi(buf);
}
fclose(fp);
}
3、修改bbs.c的*readdoent()
//在线作者姓名
if (DEFINE(DEF_COLOEDAUTHOR) && user_isactive(ent->owner))
sprintf(file_owner, "1;%dm%-12.12s", onlinecolor, ent->owner);
else
sprintf(file_owner, "%-12.12s", ent->owner);
4、修改mail.c的*maildoent()
file_owner_color[0] = '\0';
if (DEFINE(DEF_COLOEDAUTHOR)) {
uactive_flag = user_isactive(b2);
if (uactive_flag)
sprintf(file_owner_color, "^[[1;%dm", onlinecolor);
}
5、在bcache.c里增加一个函数
/*判断userid是否在线*/
int user_isactive(char *userid)
{
struct user_info *uentp;
int i;
/* 转信的用户不用统计 */
if (!isalpha(userid[0]))
return 0;
if (!isalnum(userid[strlen(userid) - 1]))
return 0;
resolve_utmp();
for (i = 0; i < USHM_SIZE; i++) {
uentp = &(utmpshm->uinfo[i]);
if (uentp != NULL) {
if (!strcmp(uentp->userid, userid)) {
if (!uentp->active || !uentp->pid || isreject(uentp))
continue; /* 碰巧不在 */
else if ((!uentp->invisible) || (uentp->uid == usernum)
|| (uentp->invisible)
&& HAS_PERM(PERM_SYSOP | PERM_SEECLOAK))
return 1;
else
return 0; /* 取第一个即可,节省CPU */
}
}
}
return 0;
}
6、src/xyz.c的void x_edits()
增加/home/?/userid/Color文件
if (ch == 5) {
setuserfile(buf, "Colors");
onlinecolor = 32; /* 缺省绿色 */
if ((fp = fopen(buf, "r")) != NULL) {
if (fgets(buf, STRLEN, fp) != NULL) {
onlinecolor = atoi(buf);
}
fclose(fp);
}
}
上面当然都增加了相应的变量
编译完了,重新登陆,并无作者颜色显示......
不知道哪里还少了。。。。。请执教,谢谢~
☆─────────────────────────────────────☆
stiger (stiger) 于 (Sat Dec 27 01:03:25 2003) 提到:
看看我的函数
int isonline(char *s){
int tuid;
struct user_info uin;
extern int t_cmpuids();
if(DEFINE(DEF_NOTMSGFRIEND)) return 7;
tuid=getuser(s);
if (tuid==0) return 7;
search_ulist(&uin,t_cmpuids,tuid);
if (uin.active && uin.pid && !uin.invisible ) {
return 2;
} else if(uin.active && uin.pid && uin.invisible && (HAS_PERM(PERM_SEECLOAK)||usernum == uin.uid)) {
return 6;
} else return 7;
return 7;
}
【 在 AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 的大作中提到: 】
: 1、在permission里面增加一个#define DEF_COLORAUTHOR 0x400000000
: 2、在main.c的user_login()最后面增加
: setuserfile(fname, "Colors");
: onlinecolor = 32; /* 缺省绿色 */
: if ((fp = fopen(fname, "r")) != NULL) {
: if (fgets(buf, STRLEN, fp) != NULL) {
: onlinecolor = atoi(buf);
: }
: fclose(fp);
: }
: 3、修改bbs.c的*readdoent()
: ...................
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 于 (Sat Dec 27 01:19:25 2003) 提到:
这是仿照BMonline写的吧?
我的是FB2Kv1126,我是参考ZV的fb2kv1129改的
【 在 stiger@smth.org (stiger) 的大作中提到: 】
: 看看我的函数
: int isonline(char *s){
: int tuid;
: struct user_info uin;
: extern int t_cmpuids();
: if(DEFINE(DEF_NOTMSGFRIEND)) return 7;
~~~~~~~~~~~~~~~~~~~~~~~这个拒绝好友信息吧?
return 7在哪?
: tuid=getuser(s);
: if (tuid==0) return 7;
: search_ulist(&uin,t_cmpuids,tuid);
: if (uin.active && uin.pid && !uin.invisible ) {
: .................(以下省略)
☆─────────────────────────────────────☆
stiger (stiger) 于 (Sat Dec 27 01:11:41 2003) 提到:
我的就是fb2kv1126
DEF_NOTMSGFRIEND 我改为定义是否彩色显示在线作者了。
【 在 AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 的大作中提到: 】
: 标 题: Re: help~关于作者在线颜色显示
: 发信站: 桃李风园 (Sat Dec 27 01:19:25 2003)
: 转信站: SMTH!maily.cic.tsinghua.edu.cn!news.ccie.net.cn!TaoLi
:
: 这是仿照BMonline写的吧?
: 我的是FB2Kv1126,我是参考ZV的fb2kv1129改的
: 【 在 stiger@smth.org (stiger) 的大作中提到: 】
: : 看看我的函数
: : int isonline(char *s){
: : int tuid;
: : struct user_info uin;
: : extern int t_cmpuids();
: : if(DEFINE(DEF_NOTMSGFRIEND)) return 7;
: ~~~~~~~~~~~~~~~~~~~~~~~这个拒绝好友信息吧?
: return 7在哪?
: : tuid=getuser(s);
: : if (tuid==0) return 7;
: : search_ulist(&uin,t_cmpuids,tuid);
: : if (uin.active && uin.pid && !uin.invisible ) {
: : .................(以下省略)
: --
: ※ Origin:【桃李风园】 <TaoLiBBS.3322.ORG> ◆ From: 218.18.47.176
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 于 (Sat Dec 27 01:40:37 2003) 提到:
改了,编译OK,只是好像还是不行:(
帮我看看前面是不是漏了什么
【 在 stiger@smth.org (stiger) 的大作中提到: 】
: 我的就是fb2kv1126
: DEF_NOTMSGFRIEND 我改为定义是否彩色显示在线作者了。
: 【 在 AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 的大作中提到: 】
: : 标 题: Re: help~关于作者在线颜色显示
: : 发信站: 桃李风园 (Sat Dec 27 01:19:25 2003)
: : 转信站: SMTH!maily.cic.tsinghua.edu.cn!news.ccie.net.cn!TaoLi
: : 这是仿照BMonline写的吧?
: : 我的是FB2Kv1126,我是参考ZV的fb2kv1129改的
: : ~~~~~~~~~~~~~~~~~~~~~~~这个拒绝好友信息吧?
: : return 7在哪?
: .................(以下省略)
☆─────────────────────────────────────☆
stiger (stiger) 于 (Sat Dec 27 01:36:37 2003) 提到:
不会没有开那个个人参数吧
【 在 AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 的大作中提到: 】
: 改了,编译OK,只是好像还是不行:(
: 帮我看看前面是不是漏了什么
☆─────────────────────────────────────☆
AM (静态运动) 于 (Sat Dec 27 01:37:52 2003) 提到:
开了没开一个样:(
【 在 stiger (stiger) 的大作中提到: 】
: 不会没有开那个个人参数吧
☆─────────────────────────────────────☆
stiger (stiger) 于 (Sat Dec 27 01:38:40 2003) 提到:
readdoent里显示有很多状况的,要看看
【 在 AM (静态运动) 的大作中提到: 】
: 开了没开一个样:(
☆─────────────────────────────────────☆
AM (静态运动) 于 (Sat Dec 27 01:51:01 2003) 提到:
好像没有吧。。。。里面的好像不用去管他,ent->owner已经重新赋值了
【 在 stiger (stiger) 的大作中提到: 】
: readdoent里显示有很多状况的,要看看
☆─────────────────────────────────────☆
turbozv@bbs.pku.edu.cn (ZV) 于 (Sat Dec 27 10:39:33 2003) 提到:
其实是一样的代码
不过你的函数返回的状态比较详细 ^_^
我那个没有用回调函数,呵呵,硬来的..
【 在 stiger@smth.org (stiger) 的大作中提到: 】
: 看看我的函数
: int isonline(char *s){
: int tuid;
: struct user_info uin;
: extern int t_cmpuids();
: if(DEFINE(DEF_NOTMSGFRIEND)) return 7;
: tuid=getuser(s);
: if (tuid==0) return 7;
: search_ulist(&uin,t_cmpuids,tuid);
: if (uin.active && uin.pid && !uin.invisible ) {
: ...........................
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (爱自己) 于 (Sat Dec 27 10:54:53 2003) 提到:
...................
快帮我看看还少了哪里。。。。。
【 在 turbozv@bbs.pku.edu.cn (ZV) 的大作中提到: 】
: 其实是一样的代码
: 不过你的函数返回的状态比较详细 ^_^
: 我那个没有用回调函数,呵呵,硬来的..
: 【 在 stiger@smth.org (stiger) 的大作中提到: 】
: : 看看我的函数
: : int isonline(char *s){
: : int tuid;
: : struct user_info uin;
: : extern int t_cmpuids();
: : if(DEFINE(DEF_NOTMSGFRIEND)) return 7;
: .................(以下省略)
☆─────────────────────────────────────☆
turbozv@bbs.pku.edu.cn (ZV) 于 (Sat Dec 27 11:30:42 2003) 提到:
因为 0x4 0000 0000 已经超出了32-bit.
【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: ...................
: 快帮我看看还少了哪里。。。。。
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (爱自己) 于 (Sat Dec 27 11:44:11 2003) 提到:
我写多了一个0....ft
【 在 turbozv@bbs.pku.edu.cn (ZV) 的大作中提到: 】
: 因为 0x4 0000 0000 已经超出了32-bit.
: 【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: : ...................
: : 快帮我看看还少了哪里。。。。。
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (爱自己) 于 (Sat Dec 27 11:44:28 2003) 提到:
我在这里写多了一个0而已
【 在 AM (爱自己) 的大作中提到: 】
: 我写多了一个0....ft
: 【 在 turbozv@bbs.pku.edu.cn (ZV) 的大作中提到: 】
: : 因为 0x4 0000 0000 已经超出了32-bit.
☆─────────────────────────────────────☆
yuhuan.bbs@ytht.net (二月二十一(八)) 于 (Sat Dec 27 14:18:32 2003) 提到:
return 2 6 7
ft
【 在 stiger@smth.org (stiger) 的大作中提到: 】
: 看看我的函数
: int isonline(char *s){
: int tuid;
: struct user_info uin;
: extern int t_cmpuids();
: if(DEFINE(DEF_NOTMSGFRIEND)) return 7;
: tuid=getuser(s);
: if (tuid==0) return 7;
: ...................
☆─────────────────────────────────────☆
TurboZV.bbs@bbs.uestc.edu.cn (重构中……) 于 (Sat Dec 27 10:37:23 2003) 提到:
因为 0x4 0000 0000 已经超出了32-bit.
【 在 AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 的大作中提到: 】
: 1、在permission里面增加一个#define DEF_COLORAUTHOR 0x400000000
: 2、在main.c的user_login()最后面增加
: setuserfile(fname, "Colors");
: onlinecolor = 32; /* 缺省绿色 */
: if ((fp = fopen(fname, "r")) != NULL) {
: if (fgets(buf, STRLEN, fp) != NULL) {
: onlinecolor = atoi(buf);
: }
: fclose(fp);
: }
: .................(以下省略)
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (爱自己) 于 (Sat Dec 27 17:02:34 2003) 提到:
汗...我前面说了我只是在这里多写了一个0而已....
现在只排到31,还没超出32啦,现在是0x40000000
【 在 TurboZV.bbs@bbs.uestc.edu.cn (重构中……) 的大作中提到: 】
: 因为 0x4 0000 0000 已经超出了32-bit.
: 【 在 AM.bbs@TaoLiBBS.3322.ORG (世界的黑暗) 的大作中提到: 】
: : 1、在permission里面增加一个#define DEF_COLORAUTHOR 0x400000000
: : 2、在main.c的user_login()最后面增加
: : setuserfile(fname, "Colors");
: : onlinecolor = 32; /* 缺省绿色 */
: : if ((fp = fopen(fname, "r")) != NULL) {
: : if (fgets(buf, STRLEN, fp) != NULL) {
: : onlinecolor = atoi(buf);
: : }
: .................(以下省略)
☆─────────────────────────────────────☆
turbozv@bbs.pku.edu.cn (ZV) 于 (Sat Dec 27 17:10:26 2003) 提到:
刚才那篇文章是专信delay的问题
你说的第三步,后面在格式化输出到 buf (sprintf(buf, xxx))
你再确认一下不是直接用的ent->owner, 而是file_owner?
3、修改bbs.c的*readdoent()
//在线作者姓名
if (DEFINE(DEF_COLOEDAUTHOR) && user_isactive(ent->owner))
sprintf(file_owner, "1;%dm%-12.12s", onlinecolor, ent->owner);
else
sprintf(file_owner, "%-12.12s", ent->owner);
【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: 汗...我前面说了我只是在这里多写了一个0而已....
: 现在只排到31,还没超出32啦,现在是0x40000000
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (爱自己) 于 (Sat Dec 27 17:27:27 2003) 提到:
哦。。。是不是把后面的全改成file_owner?
【 在 turbozv@bbs.pku.edu.cn (ZV) 的大作中提到: 】
: 刚才那篇文章是专信delay的问题
: 你说的第三步,后面在格式化输出到 buf (sprintf(buf, xxx))
: 你再确认一下不是直接用的ent->owner, 而是file_owner?
: 3、修改bbs.c的*readdoent()
: //在线作者姓名
: if (DEFINE(DEF_COLOEDAUTHOR) && user_isactive(ent->owner))
: sprintf(file_owner, "1;%dm%-12.12s", onlinecolor, ent->owner);
: else
: sprintf(file_owner, "%-12.12s", ent->owner);
: 【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: .................(以下省略)
☆─────────────────────────────────────☆
stiger (stiger) 于 (Sat Dec 27 18:47:27 2003) 提到:
2 6 7是颜色呀, 32m 36m 37m
hehe
【 在 yuhuan.bbs@ytht.net (二月二十一(八)) 的大作中提到: 】
: return 2 6 7
: ft
☆─────────────────────────────────────☆
AM.bbs@bbs.szu.edu.cn (明年今日) 于 (Sat Dec 27 18:52:51 2003) 提到:
怪不得一开始看不懂,^_^
不过我不知道为啥,不成功,今晚再看看吧
【 在 stiger@smth.org (stiger) 的大作中提到: 】
: 2 6 7是颜色呀, 32m 36m 37m
: hehe
: 【 在 yuhuan.bbs@ytht.net (二月二十一(八)) 的大作中提到: 】
: : return 2 6 7
: : ft
☆─────────────────────────────────────☆
turbozv@bbs.pku.edu.cn (ZV) 于 (Sun Dec 28 12:28:45 2003) 提到:
nod nod
【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: 哦。。。是不是把后面的全改成file_owner?
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (爱自己) 于 (Sun Dec 28 12:42:45 2003) 提到:
全改了就问题大了。。。。。。。。
因为你的*readdoent()是重新写过的
很不一样
我试着修改后就over了
因为ID具有颜色,所以在刊登者这里把颜色代码也算入ID的长度里面了
后面的日期也跟着往前移了几位-_-!!
最要命的是,所有ID都具有颜色-_-!!
【 在 turbozv@bbs.pku.edu.cn (ZV) 的大作中提到: 】
: nod nod
: 【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: : 哦。。。是不是把后面的全改成file_owner?
☆─────────────────────────────────────☆
turbozv@bbs.pku.edu.cn (ZV) 于 (Sun Dec 28 12:56:50 2003) 提到:
没问题呀?(当然我是全部重新写过readdoent())
现有的代码,你只替换 ent->owner 为 file_owner( with color )
就好了,FB以前的代码直接用
TITLE = ent->title;
TITLE[xx] = '\0';
已经修正过标题长度了。
你把你改后有问题的代码帖出来吧。大家一起看看:)
【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: 全改了就问题大了。。。。。。。。
: 因为你的*readdoent()是重新写过的
: 很不一样
: 我试着修改后就over了
: 因为ID具有颜色,所以在刊登者这里把颜色代码也算入ID的长度里面了
: 后面的日期也跟着往前移了几位-_-!!
: 最要命的是,所有ID都具有颜色-_-!!
☆─────────────────────────────────────☆
AM.bbs@TaoLiBBS.3322.ORG (爱自己) 于 (Sun Dec 28 13:10:27 2003) 提到:
呵呵,我看过了你的,你把处理标题那些单独重写了
我想移过去都很难,
我等会给你发过去看看吧
【 在 turbozv@bbs.pku.edu.cn (ZV) 的大作中提到: 】
: 没问题呀?(当然我是全部重新写过readdoent())
: 现有的代码,你只替换 ent->owner 为 file_owner( with color )
: 就好了,FB以前的代码直接用
: TITLE = ent->title;
: TITLE[xx] = '\0';
~~~~~~~~~~~~~o...这个我好像没有在意到这行
: 已经修正过标题长度了。
: 你把你改后有问题的代码帖出来吧。大家一起看看:)
: 【 在 AM.bbs@TaoLiBBS.3322.ORG (爱自己) 的大作中提到: 】
: : 全改了就问题大了。。。。。。。。
: : 因为你的*readdoent()是重新写过的
: .................(以下省略)