看板 PttCurrent 關於我們 聯絡資訊
screen.c裡 GetCurrentLine裡用了roll來決定應該取big_picture的第幾項 screenline_t* GetCurrentLine(){ register int i = cur_ln + roll; if(i >= scr_lns) i %= scr_lns; return &big_picture[i]; } 但相較之下getyx_ansi就沒有 142 getyx_ansi(int *py, int *px) 143 { 146 int y = cur_ln, x = cur_col; 159 slp = &big_picture[y]; 164 *px -= (strlen((char*)slp->data) - strlen_noansi((char*)slp->data)); 這樣似乎會造成slp設錯行的情形 164行的那個計算也會出錯 而導致最後的px是錯的 造成的影響是文章讀到一半(roll不為0時)再推文時游標的位置會怪怪的 因為用了別行的長度來判斷位置 參考GetCurrentLine的算法 我把 159 slp = &big_picture[y]; 改成 slp = &big_picture[(y+roll)%scr_lns]; 目前好像蠻正常的 不知道有沒有副作用 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.110.203.61 ※ 編輯: x4base 來自: 140.110.203.61 (04/12 17:10) ※ 編輯: x4base 來自: 140.110.203.61 (04/12 17:11)