代码跟进后,发现编译时报错,小查了下发现。
在 $SRCDIR/libBBS/libbm.c 的 180 行与 245 行
180 sprintf(opbuf, NAME_BBS_CHINESE NAME_SYSOP_GROUP
DENY_NAME_SYSOP ":\x1b[4m%s\x1b[m", operator->userid);
181 else
...
245 sprintf(opbuf, NAME_BBS_CHINESE NAME_SYSOP_GROUP
DENY_NAME_SYSOP ":\x1b[4m%s\x1b[m", operator->userid);
246 } else {
如果加了编译选项 "--enable-customizing" 会报错:
libbm.c: In function 'deny_announce':
libbm.c:180: error: expected ')' before string constant
libbm.c: In function 'deny_mailuser':
libbm.c:245: error: expected ')' before string constant
原因在于加了上面的编译选项后,NAME_BBS_CHINESE是define 为了一个函数,所以不能像上述那样写。
我暂时把它改成了这样:
sprintf(opbuf, "%s" NAME_SYSOP_GROUP DENY_NAME_SYSOP ":\x1b[4m%s\x1b[m",
NAME_BBS_CHINESE, operator->userid);
编译通过了
--
FROM 112.14.1.*