http://news.ilc.edu.tw/gallery/ve.chinsan.patch
patch -p < ve.chinsan.patch
make install clean
我是用 diff -urN screen.c.orig screen.c > ve.chinsan.patch 做的
--
[email protected]
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已BBS telnet://wretch.twbbs.org 開個人板 超快 不用連署得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知210-66-95-154.adsl.dynamic.seed.net.tw海
varargs.h 在 GCC 3.3.x 已放棄不用了
你可以用 gcc --version 來察看目前 OS 中 GCC 版本
If your compiler is Standard C, use the macros from stdarg.h.
if your compiler is old C, use the macros from varargs.h.
stupid hack:
編輯 screen.c 把原本 #include <varargs.h> 那行拿掉
改成
#ifdef __STDC__
#include <stdarg.h>
#else
#include <varargs.h>
#endif
然後
void
prints(va_alist)
va_dcl
{
va_list args;
char buff[512], *fmt;
va_start(args);
fmt = va_arg(args, char *)
vsprintf(buff, fmt, args);
va_end(args);
outs(buff);
}
改成
#ifdef __STDC__
void
prints(va_alist)
va_dcl
{
va_list args;
uschar buff[512], *fmt;
int i;
va_start(args);
fmt = va_arg(args, char *);
vsprintf(buff, fmt, args);
va_end(args);
for (fmt = buff; i = *fmt; fmt++)
outs(i);
}
#else
void
prints(va_alist)
va_dcl
{
va_list args;
char buff[512], *fmt;
va_start(args);
fmt = va_arg(args, char *);
vsprintf(buff, fmt, args);
va_end(args);
outs(buff);
}
#endif
或者更懶一點的話就..
cd /usr/ports/chinese/ve
fetch