mirror of
https://github.com/tmate-io/tmate.git
synced 2025-08-24 11:56:10 +02:00
Change the way the grid is stored, previously it was:
- a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and containts the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
This commit is contained in:
@@ -48,6 +48,7 @@ cmd_list_windows_exec(struct cmd *self, struct cmd_ctx *ctx)
|
||||
struct window *w;
|
||||
struct window_pane *wp;
|
||||
struct grid *gd;
|
||||
struct grid_line *gl;
|
||||
u_int i;
|
||||
unsigned long long size;
|
||||
const char *name;
|
||||
@@ -65,11 +66,11 @@ cmd_list_windows_exec(struct cmd *self, struct cmd_ctx *ctx)
|
||||
|
||||
size = 0;
|
||||
for (i = 0; i < gd->hsize; i++) {
|
||||
size += gd->size[i] * sizeof **gd->data;
|
||||
size += gd->usize[i] * sizeof **gd->udata;
|
||||
gl = &gd->linedata[i];
|
||||
size += gl->cellsize * sizeof *gl->celldata;
|
||||
size += gl->utf8size * sizeof *gl->utf8data;
|
||||
}
|
||||
size += gd->hsize * (sizeof *gd->data);
|
||||
size += gd->hsize * (sizeof *gd->size);
|
||||
size += gd->hsize * sizeof *gd->linedata;
|
||||
|
||||
if (wp->fd != -1)
|
||||
name = ttyname(wp->fd);
|
||||
|
Reference in New Issue
Block a user