all repos — slstatus @ 1814061396ef5855e2d1815665fc32e0902ccbe9

my build of slstatus (tools.suckless.org/slstatus/)

Add and use LEN() macro
Laslo Hunhold dev@frign.de
Fri, 11 Aug 2017 13:39:19 +0200
commit

1814061396ef5855e2d1815665fc32e0902ccbe9

parent

178c23e3d2b75a99010987bf3e17a82ff7b83b6a

1 files changed, 6 insertions(+), 5 deletions(-)

jump to
M slstatus.cslstatus.c

@@ -28,6 +28,8 @@ #include <X11/Xlib.h>

#include "arg.h" +#define LEN(x) (sizeof (x) / sizeof *(x)) + struct arg { const char *(*func)(); const char *fmt;

@@ -167,13 +169,13 @@ fclose(fp);

if (n != 1) return UNKNOWN_STR; - for (i = 0; i < sizeof(map) / sizeof(*map); i++) { + for (i = 0; i < LEN(map); i++) { if (!strcmp(map[i].state, state)) { break; } } - return (i == sizeof(map) / sizeof(*map)) ? "?" : map[i].symbol; + return (i == LEN(map)) ? "?" : map[i].symbol; } static const char *

@@ -745,7 +747,7 @@ warn("Cannot get volume for %s", card);

close(afd); return UNKNOWN_STR; } - for (i = 0; i < (sizeof(vnames) / sizeof((vnames[0]))); i++) { + for (i = 0; i < LEN(vnames); i++) { if (devmask & (1 << i) && !strcmp("vol", vnames[i])) { if (ioctl(afd, MIXER_READ(i), &v) == -1) { warn("vol_perc: ioctl");

@@ -884,8 +886,7 @@

while (!done) { status_string[0] = '\0'; - for (element = status_string, i = len = 0; - i < sizeof(args) / sizeof(args[0]); + for (element = status_string, i = len = 0; i < LEN(args); ++i, element += len) { argument = args[i]; len = snprintf(element, sizeof(status_string)-1 - len,