Use input_clear to reset the APC, DCS, OSC state or it could be reused

improperly by a later state. From Kevin Goodsell.
pull/1/head
Nicholas Marriott 2011-01-28 20:39:22 +00:00
parent bcc7c689c1
commit b6bb350289
1 changed files with 7 additions and 4 deletions

11
input.c
View File

@ -812,6 +812,9 @@ input_clear(struct input_ctx *ictx)
*ictx->param_buf = '\0';
ictx->param_len = 0;
*ictx->input_buf = '\0';
ictx->input_len = 0;
ictx->flags &= ~INPUT_DISCARD;
}
@ -1394,7 +1397,7 @@ input_enter_dcs(struct input_ctx *ictx)
{
log_debug("%s", __func__);
ictx->input_len = 0;
input_clear(ictx);
}
/* DCS terminator (ST) received. */
@ -1410,7 +1413,7 @@ input_enter_osc(struct input_ctx *ictx)
{
log_debug("%s", __func__);
ictx->input_len = 0;
input_clear(ictx);
}
/* OSC terminator (ST) received. */
@ -1436,7 +1439,7 @@ input_enter_apc(struct input_ctx *ictx)
{
log_debug("%s", __func__);
ictx->input_len = 0;
input_clear(ictx);
}
/* APC terminator (ST) received. */
@ -1457,7 +1460,7 @@ input_enter_rename(struct input_ctx *ictx)
{
log_debug("%s", __func__);
ictx->input_len = 0;
input_clear(ictx);
}
/* Rename terminator (ST) received. */