MINOR: http: Add helper functions to trim spaces and tabs

Add two helper functions that trim leading or trailing spaces and
horizontal tabs from an ist string.
This commit is contained in:
Remi Tricot-Le Breton 2020-12-23 18:13:48 +01:00 committed by Willy Tarreau
parent 6a34b2b65d
commit 56e46cb393
2 changed files with 34 additions and 0 deletions

View File

@ -59,6 +59,9 @@ int http_parse_status_val(const struct ist value, struct ist *status, struct ist
int http_compare_etags(struct ist etag1, struct ist etag2);
struct ist http_trim_leading_spht(struct ist value);
struct ist http_trim_trailing_spht(struct ist value);
/*
* Given a path string and its length, find the position of beginning of the
* query string. Returns NULL if no query string is found in the path.

View File

@ -1074,3 +1074,34 @@ int http_compare_etags(struct ist etag1, struct ist etag2)
return isteq(etag1, etag2);
}
/*
* Trim leading space or horizontal tab characters from <value> string.
* Returns the trimmed string.
*/
struct ist http_trim_leading_spht(struct ist value)
{
struct ist ret = value;
while (ret.len && HTTP_IS_SPHT(ret.ptr[0])) {
++ret.ptr;
--ret.len;
}
return ret;
}
/*
* Trim trailing space or horizontal tab characters from <value> string.
* Returns the trimmed string.
*/
struct ist http_trim_trailing_spht(struct ist value)
{
struct ist ret = value;
while (ret.len && HTTP_IS_SPHT(ret.ptr[-1]))
--ret.len;
return ret;
}