aboutsummaryrefslogtreecommitdiff
path: root/src/ui_statusbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui_statusbar.c')
-rw-r--r--src/ui_statusbar.c10
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;
}