- 论坛徽章:
- 0
|
版本:Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
Linux version 2.6.9-22.0.1_svr_12ccbsmp (root@broad-build) (gcc version 3.4.4 20
050721 (NeoShine 3.4.4-2)) #1 SMP Fri May 25 14:19:08 CST 2007
TERM=vt220
LANG=C
LC_ALL=zh_CN.GB18030
终端类型为国光的,可是应该和这个的关系不大吧,都是通过终端服务器登录的;
我在终端显示菜单的时候,选择下拉列表后刷新屏幕,可是在光标处总是有一个字符的乱码? 请知道的指导一下,谢谢了
并且我用netterm直接登录,好像光标处的乱码有的时候就没有了; 但是如果是telnet登录,光标处又会有一个字符的乱码?郁闷啊!!!!!
请各位帮帮忙,谢谢了
int
Test_Restore(WINDOW *pWin, chtype **pctBuf, int nBeginX, int nBeginY, int nWidth, int nHeight)
{
chtype *p;
int i,j;
p=*pctBuf;
if(p==NULL) return -1;
wmove(pWin,nBeginY,nBeginX);
wrefresh(pWin);
for(i=nBeginY;i<nBeginY+nHeight;i++)
for(j=nBeginX;j<nBeginX+nWidth;j++){
wattrset(pWin,(*p)&A_ATTRIBUTES);
#ifdef __HP_OS__
mvwaddwch(pWin,i,j,(*p)&A_CHARTEXT);
#else
mvwaddch(pWin,i,j,(*p)&A_CHARTEXT);
#endif
wattrset(pWin,A_NORMAL);
p++;
}
touchwin(pWin);
wrefresh(pWin);
FREE(*pctBuf);
SetNumLock(TRUE);
return 0;
}
int
Test_TermList(WINDOW *pOrgWin, LIST *pList, FILE **fd, FILE **fdInx, FILE **fdTerm, int c, int *pnNumReturned, void *ppRowsReturned[], int nMaxNumReturned, void *pBuffer, int nBufSize)
{
int nTermFd;
int i=0;
nTermFd=fileno(*fdTerm);
delwin(pList->pWin);
tcdrain(nTermFd); /* 同步终端与输出 */
Test_Restore(pOrgWin, &pList->ctSave, pList->nX, pList->nY, pList->nWidth, pList->nHeight);
wattrset(pOrgWin, lOldAttrs);
tcdrain(nTermFd); /* 同步终端与输出 */
tcflush(nTermFd, TCIOFLUSH);
fclose(*fdTerm);
if(c!=WESC)
{
GetReturnRows(pList, *fd, *fdInx, pnNumReturned, ppRowsReturned, nMaxNumReturned, pBuffer, nBufSize);
}
else
{
*pnNumReturned=0;
*((char *)pBuffer)=0;
for(i=0; i<nMaxNumReturned; i++)
ppRowsReturned=NULL;
}
fclose(*fd);
fclose(*fdInx);
FreeGblVar();
pList->pczRowBuf=NULL;
return 0;
} |
|