easy, 少协商乐一项而已。
试试下面这个函数,加到main.c的start_client的term_init行的后面。
int check_tty_lines()
{
static unsigned char buf1[]={255,253,31};
unsigned char buf2[100];
int n;
write(0,buf1,3);
n=read(0,buf2,3);
if(n!=3) return;
if(buf2[0]!=255||buf2[1]!=251||buf2[2]!=31) return;
n=read(0,buf2,9);
if(n!=9) return;
if(buf2[0]!=255||buf2[1]!=250||buf2[2]!=31||buf2[7]!=255||buf2[8]!=24
0) return;
t_lines=buf2[6];
if(t_lines<24||t_lines>100) t_lines=24;
}
BTW: 非24行时smthedit文章好象有bug.
【 在 ylsdd (1245) 的大作中提到: 】
: 省掉了一个telnetd进程, 可是屏幕的大小也因此固定了,
: 把窗口开成, 比如说, 30列, BBS的列表却并没有相应变长.
: 而在原来的系统上是可以的...
--
修改:chzh FROM 202.112.25.23
FROM 202.112.25.23