osc: use STRLEN() macro to make parse_rgb() more self-documenting

The empty literals in the macro are to ensure the argument itself
is a string literal, so it can't be used on anything else.
This commit is contained in:
Craig Barnes 2021-10-20 17:05:36 +01:00
parent 6dfacb9c08
commit 2e87889279
3 changed files with 5 additions and 4 deletions

7
osc.c
View file

@ -11,6 +11,7 @@
#include "base64.h"
#include "config.h"
#include "grid.h"
#include "macros.h"
#include "notify.h"
#include "render.h"
#include "selection.h"
@ -341,12 +342,10 @@ parse_rgb(const char *string, uint32_t *color, bool *_have_alpha,
/* Verify we have the minimum required length (for "") */
if (have_alpha) {
/* rgba:x/x/x/x */
if (len < 4 /* 'rgba' */ + 1 /* ':' */ + 3 /* '/' */ + 4 * 1 /* 4 * 'x' */)
if (len < STRLEN("rgba:x/x/x/x"))
return false;
} else {
/* rgb:x/x/x */
if (len < 3 /* 'rgb' */ + 1 /* ':' */ + 2 /* '/' */ + 3 * 1 /* 3 * 'x' */)
if (len < STRLEN("rgb:x/x/x"))
return false;
}