edit: Fix delete_word when not in the end of line

This commit is contained in:
Jouni Malinen 2010-11-20 23:05:12 +02:00
parent ee3b84beb3
commit 31e1206baa

View file

@ -130,13 +130,17 @@ static void delete_current(void)
static void delete_word(void) static void delete_word(void)
{ {
int pos;
edit_clear_line(); edit_clear_line();
while (cmdbuf_len > 0 && cmdbuf[cmdbuf_len - 1] == ' ') pos = cmdbuf_pos;
cmdbuf_len--; while (pos > 0 && cmdbuf[pos - 1] == ' ')
while (cmdbuf_len > 0 && cmdbuf[cmdbuf_len - 1] != ' ') pos--;
cmdbuf_len--; while (pos > 0 && cmdbuf[pos - 1] != ' ')
if (cmdbuf_pos > cmdbuf_len) pos--;
cmdbuf_pos = cmdbuf_len; os_memmove(cmdbuf + pos, cmdbuf + cmdbuf_pos, cmdbuf_len - cmdbuf_pos);
cmdbuf_len -= cmdbuf_pos - pos;
cmdbuf_pos = pos;
edit_redraw(); edit_redraw();
} }