diff options
Diffstat (limited to 'src/ui_statusbar.c')
-rw-r--r-- | src/ui_statusbar.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/ui_statusbar.c b/src/ui_statusbar.c index 03a77ac..9d4cd8a 100644 --- a/src/ui_statusbar.c +++ b/src/ui_statusbar.c @@ -71,10 +71,8 @@ register_statusbar(struct statusbar *a) } inline void -set_statusbar_text(struct statusbar *a, const char *text) +set_statusbar_text(struct statusbar *a, const char *text, size_t len) { - size_t len = strlen(text); - strncpy(a->text, text, (len > a->width ? a->width : len)); } @@ -86,7 +84,9 @@ set_statusbar_textf(struct statusbar *a, const char *format, ...) va_start(ap, format); int ret = vasprintf(&str, format, ap); va_end(ap); - if (ret != -1) - set_statusbar_text(a, str); + if (ret >= 0) { + set_statusbar_text(a, str, ret); + free(str); + } return ret; } |