From: Tom Böhmer Date: Thu, 28 May 2020 08:39:07 +0000 (+0200) Subject: Fixes #9 - determine the size of the status buffer based on the number of blocks X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=4d92b6ca6caae215a79f00d88404c018b9eac15f;p=dwmblocks.git 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 --- 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;