aboutsummaryrefslogtreecommitdiff
path: root/format.c
diff options
context:
space:
mode:
authornicm <nicm>2020-05-25 15:02:25 +0000
committernicm <nicm>2020-05-25 15:02:25 +0000
commitbbfb44e9b2e5b2e6560abb0892bb9d5f68e42d0f (patch)
tree9d73e22cc6621288e375696f63bb116867ba49ac /format.c
parent4589297e43ad4b385c9110879aab8338d7c45474 (diff)
downloadrtmux-bbfb44e9b2e5b2e6560abb0892bb9d5f68e42d0f.tar.gz
rtmux-bbfb44e9b2e5b2e6560abb0892bb9d5f68e42d0f.tar.bz2
rtmux-bbfb44e9b2e5b2e6560abb0892bb9d5f68e42d0f.zip
Make some data types consistent.
Diffstat (limited to 'format.c')
-rw-r--r--format.c35
1 files changed, 30 insertions, 5 deletions
diff --git a/format.c b/format.c
index c7f7b90a..6ff04e72 100644
--- a/format.c
+++ b/format.c
@@ -761,22 +761,46 @@ format_cb_history_bytes(struct format_tree *ft, struct format_entry *fe)
struct window_pane *wp = ft->wp;
struct grid *gd;
struct grid_line *gl;
- unsigned long long size;
+ size_t size = 0;
u_int i;
if (wp == NULL)
return;
gd = wp->base.grid;
- size = 0;
- for (i = 0; i < gd->hsize; i++) {
+ for (i = 0; i < gd->hsize + gd->sy; i++) {
gl = grid_get_line(gd, i);
size += gl->cellsize * sizeof *gl->celldata;
size += gl->extdsize * sizeof *gl->extddata;
}
- size += gd->hsize * sizeof *gl;
+ size += (gd->hsize + gd->sy) * sizeof *gl;
- xasprintf(&fe->value, "%llu", size);
+ xasprintf(&fe->value, "%zu", size);
+}
+
+/* Callback for history_all_bytes. */
+static void
+format_cb_history_all_bytes(struct format_tree *ft, struct format_entry *fe)
+{
+ struct window_pane *wp = ft->wp;
+ struct grid *gd;
+ struct grid_line *gl;
+ u_int i, lines, cells = 0, extended_cells = 0;
+
+ if (wp == NULL)
+ return;
+ gd = wp->base.grid;
+
+ lines = gd->hsize + gd->sy;
+ for (i = 0; i < lines; i++) {
+ gl = grid_get_line(gd, i);
+ cells += gl->cellsize;
+ extended_cells += gl->extdsize;
+ }
+
+ xasprintf(&fe->value, "%u,%zu,%u,%zu,%u,%zu", lines,
+ lines * sizeof *gl, cells, cells * sizeof *gl->celldata,
+ extended_cells, extended_cells * sizeof *gl->extddata);
}
/* Callback for pane_tabs. */
@@ -2823,6 +2847,7 @@ format_defaults_pane(struct format_tree *ft, struct window_pane *wp)
format_add(ft, "history_size", "%u", gd->hsize);
format_add(ft, "history_limit", "%u", gd->hlimit);
format_add_cb(ft, "history_bytes", format_cb_history_bytes);
+ format_add_cb(ft, "history_all_bytes", format_cb_history_all_bytes);
format_add(ft, "pane_written", "%zu", wp->written);
format_add(ft, "pane_skipped", "%zu", wp->skipped);