X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=spectrwm.c;h=024c527cde757ad603af83010e4f1f3088884b62;hb=94a4eee141a947f4a3d0506b2eab53cd77166048;hp=b4e86a400fdf8d9ad6fa02c9caf6c52b932dc7c4;hpb=a53197ff96655520858fe34e3b05e158abd3d90b;p=spectrwm.git diff --git a/spectrwm.c b/spectrwm.c index b4e86a4..024c527 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -1539,6 +1539,15 @@ bar_fmt(const char *fmtexp, char *fmtnew, struct swm_region *r, size_t sz) strlcat(fmtnew, "+4<+A+4<+V", sz); } +void +bar_replace_pad(char *tmp, int *limit, size_t sz) +{ + /* special case; no limit given, pad one space, instead */ + if (*limit == sz - 1) + *limit = 1; + snprintf(tmp, sz, "%*s", *limit, " "); +} + /* replaces the bar format character sequences (like in tmux(1)) */ char * bar_replace_seq(char *fmt, char *fmtrep, struct swm_region *r, size_t *offrep, @@ -1575,10 +1584,7 @@ bar_replace_seq(char *fmt, char *fmtrep, struct swm_region *r, size_t *offrep, switch (*fmt) { case '<': - /* special case; no limit given, pad one space, instead */ - if (limit == sizeof tmp - 1) - limit = 1; - snprintf(tmp, sizeof tmp, "%*s", limit, " "); + bar_replace_pad(tmp, &limit, sizeof tmp); break; case 'A': snprintf(tmp, sizeof tmp, "%s", bar_ext);