aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--status.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/status.c b/status.c
index 1bd02c43..607d6476 100644
--- a/status.c
+++ b/status.c
@@ -257,16 +257,19 @@ status_get_window_at(struct client *c, u_int x)
struct session *s = c->session;
struct winlink *wl;
struct options *oo;
- size_t len;
+ const char *sep;
+ size_t seplen;
x += c->wlmouse;
RB_FOREACH(wl, winlinks, &s->windows) {
oo = wl->window->options;
- len = strlen(options_get_string(oo, "window-status-separator"));
+
+ sep = options_get_string(oo, "window-status-separator");
+ seplen = screen_write_cstrlen("%s", sep);
if (x < wl->status_width)
return (wl->window);
- x -= wl->status_width + len;
+ x -= wl->status_width + seplen;
}
return (NULL);
}
@@ -344,7 +347,7 @@ status_redraw(struct client *c)
oo = wl->window->options;
sep = options_get_string(oo, "window-status-separator");
- seplen = screen_write_strlen("%s", sep);
+ seplen = screen_write_cstrlen("%s", sep);
wlwidth += wl->status_width + seplen;
}
@@ -359,7 +362,7 @@ status_redraw(struct client *c)
oo = wl->window->options;
sep = options_get_string(oo, "window-status-separator");
- screen_write_nputs(&ctx, -1, &stdgc, "%s", sep);
+ screen_write_cnputs(&ctx, -1, &stdgc, "%s", sep);
}
screen_write_stop(&ctx);