version 1.35, 2009/09/23 06:18:48 |
version 1.36, 2009/09/23 14:42:48 |
|
|
xfree(c->prompt_string); |
xfree(c->prompt_string); |
c->prompt_string = NULL; |
c->prompt_string = NULL; |
|
|
if (c->prompt_flags & PROMPT_HIDDEN) |
|
memset(c->prompt_buffer, 0, strlen(c->prompt_buffer)); |
|
xfree(c->prompt_buffer); |
xfree(c->prompt_buffer); |
c->prompt_buffer = NULL; |
c->prompt_buffer = NULL; |
|
|
|
|
left--; |
left--; |
size = left; |
size = left; |
} |
} |
if (c->prompt_flags & PROMPT_HIDDEN) |
screen_write_puts( |
size = 0; |
&ctx, &gc, "%.*s", (int) left, c->prompt_buffer + off); |
else { |
|
screen_write_puts(&ctx, &gc, |
|
"%.*s", (int) left, c->prompt_buffer + off); |
|
} |
|
|
|
for (i = len + size; i < c->tty.sx; i++) |
for (i = len + size; i < c->tty.sx; i++) |
screen_write_putc(&ctx, &gc, ' '); |
screen_write_putc(&ctx, &gc, ' '); |
|
|
/* Draw a fake cursor. */ |
/* Draw a fake cursor. */ |
ch = ' '; |
ch = ' '; |
if (c->prompt_flags & PROMPT_HIDDEN) |
screen_write_cursormove(&ctx, len + c->prompt_index - off, 0); |
screen_write_cursormove(&ctx, len, 0); |
if (c->prompt_index < strlen(c->prompt_buffer)) |
else { |
ch = c->prompt_buffer[c->prompt_index]; |
screen_write_cursormove(&ctx, |
|
len + c->prompt_index - off, 0); |
|
if (c->prompt_index < strlen(c->prompt_buffer)) |
|
ch = c->prompt_buffer[c->prompt_index]; |
|
} |
|
gc.attr ^= GRID_ATTR_REVERSE; |
gc.attr ^= GRID_ATTR_REVERSE; |
screen_write_putc(&ctx, &gc, ch); |
screen_write_putc(&ctx, &gc, ch); |
} |
} |
|
|
case MODEKEYEDIT_HISTORYUP: |
case MODEKEYEDIT_HISTORYUP: |
if (ARRAY_LENGTH(&c->prompt_hdata) == 0) |
if (ARRAY_LENGTH(&c->prompt_hdata) == 0) |
break; |
break; |
if (c->prompt_flags & PROMPT_HIDDEN) |
|
memset(c->prompt_buffer, 0, strlen(c->prompt_buffer)); |
|
xfree(c->prompt_buffer); |
xfree(c->prompt_buffer); |
|
|
c->prompt_buffer = xstrdup(ARRAY_ITEM(&c->prompt_hdata, |
c->prompt_buffer = xstrdup(ARRAY_ITEM(&c->prompt_hdata, |
|
|
c->flags |= CLIENT_STATUS; |
c->flags |= CLIENT_STATUS; |
break; |
break; |
case MODEKEYEDIT_HISTORYDOWN: |
case MODEKEYEDIT_HISTORYDOWN: |
if (c->prompt_flags & PROMPT_HIDDEN) |
|
memset(c->prompt_buffer, 0, strlen(c->prompt_buffer)); |
|
xfree(c->prompt_buffer); |
xfree(c->prompt_buffer); |
|
|
if (c->prompt_hindex != 0) { |
if (c->prompt_hindex != 0) { |