mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
We now store the passthrough characters in a buffer, and call dcs_passthrough() on unhook. However, dcs_passthrough() doesn't do anything.
32 lines
741 B
C
32 lines
741 B
C
#include "dcs.h"
|
|
|
|
#define LOG_MODULE "dcs"
|
|
#define LOG_ENABLE_DBG 0
|
|
#include "log.h"
|
|
|
|
void
|
|
dcs_passthrough(struct terminal *term)
|
|
{
|
|
LOG_DBG("DCS passthrough: %.*s (%zu bytes)",
|
|
(int)term->vt.dcs.idx, term->vt.dcs.data, term->vt.dcs.idx);
|
|
}
|
|
|
|
bool
|
|
dcs_ensure_size(struct terminal *term, size_t required_size)
|
|
{
|
|
if (required_size <= term->vt.dcs.size)
|
|
return true;
|
|
|
|
size_t new_size = (required_size + 127) / 128 * 128;
|
|
assert(new_size > 0);
|
|
|
|
uint8_t *new_data = realloc(term->vt.dcs.data, new_size);
|
|
if (new_data == NULL) {
|
|
LOG_ERRNO("failed to increase size of DCS buffer");
|
|
return false;
|
|
}
|
|
|
|
term->vt.dcs.data = new_data;
|
|
term->vt.dcs.size = new_size;
|
|
return true;
|
|
}
|