: edit.c: vedit()
case KEY_BKSP:
...........
if (!(tmp = vln->prev))
goto ve_key;
ve_row--;
ve_lno--;
vx_cur = tmp;
ve_col = tmp->len;
if (*ve_strim(vln->data))
join_up(tmp);
else
delete_line(vln);
ve_mode = mode | VE_REDRAW;
以及
: edit.c: vedit()
cc = ve_row;
if (cc < 0)
{
ve_row = 0;
if (vln = vx_top->prev)
{
vx_top = vln;
rscroll();
}
else
{
ve_abort(6);
}
}
else if (cc >= b_lines)
====================
我想問的是在第一段中,若vx_top和vln指向一樣的地方
當vln指向的地方被free()後,
這樣還做出 vx_top->prev 這樣的動作是否會造成違法取用記憶體的問題
註:
最近本站有使用者反應用編輯器在特定狀況下會斷線
而這特定狀況是當游標在畫面的最上端的最左邊按下Backspace時會斷線
而且該行不能是整個檔案的第一行
我在猜想這個是否會造成這種異常
--
◤ �s◣◢|_ ▲▲ ◥
∕/��◤��\ ▲ 你掉下去的是普通的魔法使���炎哈��� ◣東方project系列
|�n ● ●�l● 還是不普通的魔法使? ▋● ● ▍  ̄ ̄ ̄ ̄ ̄ ̄ ̄
|║�e▄�e�� ◥���e▄�e�芍� 持續推廣ing
|/��|Π|�� ◥ ��██>◥◤
◣ �� �� 少女汗顏中... ▂▃▄▄▄▄◤�� ��◥▄ ψ涼宮 域 gbwind ◢
--
◢◣◢◤ # Origin # 台中一中 龍夢紀元 bbs.tcfsh.tc.edu.tw
◥◣█◥◣ # Author # dust
◢◤◥◤ # From # proxy2.tcfsh.tc.edu.tw