各位大虾在上,小弟在这里献丑了
发信人: kxn (Null Pointer Assignment), 信区: linux
标 题: KCN 2.70 BBS 在 FreeBSD 上的编译
发信站: 酒井BBS (Fri Mar 12 19:37:38 1999), 转信
KCN 大虾的 Firebird 2.70 在 FreeBSD 上不能直接编译,需要做以下修改
1:在 CONFIG/chat.h.in 中添加
#define MAXDEFINEALIAS 60 /* MAX User Define Alias */
这行本来是在 chat.h 中的,在 Linux 系统中因为不用 configure , 所以
没有问题 ,但是在 FreeBSD 中要重新 configure , 在 chat.h 中的改动
会丢失,所以把它加进 chat.h.in 中就行了。
2:在 bbsrf.c , 348 行
if (whee){
if (whee->ut_host[0]){
strncpy(hid,&whee->ut_host[0],16);
}
else {
strncpy(hid,(char*)inet_ntoa(whee->ut_addr),16);
}
}
else {
strcpy(hid,"没有tty");
}
改为
if (whee)
strncpy(hid,&whee->ut_host[0],16);
else
strcpy(hid,"没有tty");
这是因为 *BSD 的 UTMP 结构中只有 ut_host 成员没有 ut_addr 成员.
3:其实这个改不改都行,就是把
bbs.h 中的 malloc.h 换为 stdlib.h
可以避免编译时的警告信息.
好啦, 做完以上 3 步修改, KCN 大虾的 Firebird 2.70 可以在 freebsd 上
正常编译,一个 warning 都没有的说.:) 您就可以体验 FreeBSD 强劲的网络性能啦
其他问题,请参考 fuse 大虾关于用 FreeBSD 架 bbs 的介绍 (在 linux 版)
--
FROM 166.111.163.178