@@ -52,14 +52,14 @@ int cfs_str2mask(const char *str, const char *(*bit2str)(int bit),
char op = '\0';
int newmask = minmask, i, len, found = 0;
- /* <str> must be a list of tokens separated by whitespace
+ /* <str> must be a list of tokens separated by whitespace or comma,
* and optionally an operator ('+' or '-'). If an operator
* appears first in <str>, '*oldmask' is used as the starting point
* (relative), otherwise minmask is used (absolute). An operator
* applies to all following tokens up to the next operator.
*/
while (*str != '\0') {
- while (isspace(*str))
+ while (isspace(*str) || *str == ',')
str++;
if (*str == '\0')
break;
@@ -77,7 +77,7 @@ int cfs_str2mask(const char *str, const char *(*bit2str)(int bit),
/* find token length */
len = 0;
while (str[len] != '\0' && !isspace(str[len]) &&
- str[len] != '+' && str[len] != '-')
+ str[len] != '+' && str[len] != '-' && str[len] != ',')
len++;
/* match token */