diff --git a/include/common/standard.h b/include/common/standard.h index 69d760dd8..da2efcfbb 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -372,6 +372,16 @@ extern const char *invalid_domainchar(const char *name); */ extern const char *invalid_prefix_char(const char *name); +/* returns true if is an identifier character, that is, a digit, a letter, + * or '-', '_', ':' or '.'. This is usable for proxy names, server names, ACL + * names, sample fetch names, and converter names. + */ +static inline int is_idchar(char c) +{ + return isalnum((int)(unsigned char)c) || + c == '.' || c == '_' || c == '-' || c == ':'; +} + /* * converts to a locally allocated struct sockaddr_storage *, and a * port range consisting in two integers. The low and high end are always set