mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.0.1674: libvterm can't handle an OSC string split
Problem: Libvterm can't handle a long OSC string that is split. Solution: When an incomplete OSC string is received copy it to the parser buffer. Increase the size of the parser buffer to be able to handle longer strings.
This commit is contained in:
parent
4791015e6f
commit
77557a7ae6
@ -288,6 +288,11 @@ size_t vterm_input_write(VTerm *vt, const char *bytes, size_t len)
|
||||
done_string(vt, string_start, bytes + pos - string_start);
|
||||
ENTER_NORMAL_STATE();
|
||||
}
|
||||
else if (pos + 1 == len) {
|
||||
/* end of input but OSC string isn't finished yet, copy it to
|
||||
* vt->parser.strbuffer to continue it later */
|
||||
more_string(vt, string_start, bytes + pos + 1 - string_start);
|
||||
}
|
||||
break;
|
||||
|
||||
case NORMAL:
|
||||
|
@ -52,7 +52,7 @@ VTerm *vterm_new_with_allocator(int rows, int cols, VTermAllocatorFunctions *fun
|
||||
vt->parser.callbacks = NULL;
|
||||
vt->parser.cbdata = NULL;
|
||||
|
||||
vt->parser.strbuffer_len = 64;
|
||||
vt->parser.strbuffer_len = 500; /* should be able to hold an OSC string */
|
||||
vt->parser.strbuffer_cur = 0;
|
||||
vt->parser.strbuffer = vterm_allocator_malloc(vt, vt->parser.strbuffer_len);
|
||||
|
||||
|
@ -762,6 +762,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1674,
|
||||
/**/
|
||||
1673,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user