From 4d92b6ca6caae215a79f00d88404c018b9eac15f Mon Sep 17 00:00:00 2001 From: Tom Böhmer Date: Thu, 28 May 2020 10:39:07 +0200 Subject: Fixes #9 - determine the size of the status buffer based on the number of blocks prevents dwmblocks from crashing because of the status string getting longer than the underlying buffer --- dwmblocks.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dwmblocks.c b/dwmblocks.c index 2f3b774..3af799f 100644 --- a/dwmblocks.c +++ b/dwmblocks.c @@ -6,6 +6,7 @@ #include #define LENGTH(X) (sizeof(X) / sizeof (X[0])) #define CMDLENGTH 50 +#define STATUSLENGTH (LENGTH(blocks) * CMDLENGTH + 1) typedef struct { char* icon; @@ -32,7 +33,7 @@ static Display *dpy; static int screen; static Window root; static char statusbar[LENGTH(blocks)][CMDLENGTH] = {0}; -static char statusstr[2][256]; +static char statusstr[2][STATUSLENGTH]; static int statusContinue = 1; static void (*writestatus) () = setroot; -- cgit v1.2.3