diff options
| author | Markus Uhlin <markus@nifty-networks.net> | 2025-11-02 11:18:42 +0100 | 
|---|---|---|
| committer | Markus Uhlin <markus@nifty-networks.net> | 2025-11-02 11:18:42 +0100 | 
| commit | 2c739a6daeb1373722f2c02d84a4fef684479752 (patch) | |
| tree | 3aa8dcce1c6bdee9b6639b2f91645a36d6314794 /FICS/addgroup.cpp | |
| parent | 88db093176fd3883a00f08ddacba03b13852c1b3 (diff) | |
Added is_valid_group_name()
Diffstat (limited to 'FICS/addgroup.cpp')
| -rw-r--r-- | FICS/addgroup.cpp | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/FICS/addgroup.cpp b/FICS/addgroup.cpp index 59547d0..52c6639 100644 --- a/FICS/addgroup.cpp +++ b/FICS/addgroup.cpp @@ -140,6 +140,27 @@ group_exists(const char *name)  	return false;  } +bool +is_valid_group_name(const char *name) +{ +	const char legal_index[] = +	    "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	    "abcdefghijklmnopqrstuvwxyz" +	    "0123456789_-"; +	const size_t name_min = 2; +	const size_t name_max = 30; + +	if (name == nullptr || strcmp(name, "") == 0) +		return false; +	else if (strlen(name) < name_min || strlen(name) > name_max) +		return false; +	for (const char *cp = name; *cp != '\0'; cp++) { +		if (strchr(legal_index, *cp) == nullptr) +			return false; +	} +	return true; +} +  int  read_the_group_permissions_file(const char *path)  {  | 
