From 74bc9916006045bf4728b84550a40cde90987c3e Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 28 Jan 2022 09:32:43 +0100 Subject: [PATCH] BUILD: server-state: avoid using not-so-portable isblank() Once in a while we get rid of this one. isblank() is missing on old C libraries and only matches two values, so let's just replace it. It was brought with this commit in 2.4: 0bf268e18 ("MINOR: server: Be more strict on the server-state line parsing") It may be backported though it's really not important. --- src/server_state.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server_state.c b/src/server_state.c index dcbbe41a0..285d23e3a 100644 --- a/src/server_state.c +++ b/src/server_state.c @@ -571,7 +571,7 @@ static int srv_state_parse_line(char *buf, const int version, char **params) } /* skip blank characters at the beginning of the line */ - while (isblank((unsigned char)*cur)) + while (*cur == ' ' || *cur == '\t') ++cur; /* ignore empty or commented lines */ @@ -592,7 +592,7 @@ static int srv_state_parse_line(char *buf, const int version, char **params) break; /* then skip leading spaces */ - while (*cur && isblank((unsigned char)*cur)) { + while (*cur && (*cur == ' ' || *cur == '\t')) { ++cur; if (!*cur) break; @@ -632,7 +632,7 @@ static int srv_state_parse_line(char *buf, const int version, char **params) params[arg++] = cur; /* look for the end of the current field */ - while (*cur && !isblank((unsigned char)*cur)) { + while (*cur && *cur != ' ' && *cur != '\t') { ++cur; if (!*cur) break;