summaryrefslogtreecommitdiffstats
path: root/grid.c
diff options
context:
space:
mode:
Diffstat (limited to 'grid.c')
-rw-r--r--grid.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/grid.c b/grid.c
index aa4ae804..d185f364 100644
--- a/grid.c
+++ b/grid.c
@@ -1350,3 +1350,22 @@ grid_unwrap_position(struct grid *gd, u_int *px, u_int *py, u_int wx, u_int wy)
*px = wx;
*py = yy;
}
+
+/* Get length of line. */
+u_int
+grid_line_length(struct grid *gd, u_int py)
+{
+ struct grid_cell gc;
+ u_int px;
+
+ px = grid_get_line(gd, py)->cellsize;
+ if (px > gd->sx)
+ px = gd->sx;
+ while (px > 0) {
+ grid_get_cell(gd, px - 1, py, &gc);
+ if (gc.data.size != 1 || *gc.data.data != ' ')
+ break;
+ px--;
+ }
+ return (px);
+}