tree-wide: add global ascii_isdigit() + ascii_isalpha()
We now have a local implementation in string-util-fundamental.c, but
it's useful at a lot of other places, hence let's give it a more
expressive name and share it across the tree.
Follow-up for: 8d9156660d
This commit is contained in:
@@ -29,10 +29,8 @@ bool object_path_is_valid(const char *p) {
|
||||
} else {
|
||||
bool good;
|
||||
|
||||
good =
|
||||
(*q >= 'a' && *q <= 'z') ||
|
||||
(*q >= 'A' && *q <= 'Z') ||
|
||||
(*q >= '0' && *q <= '9') ||
|
||||
good = ascii_isalpha(*q) ||
|
||||
ascii_isdigit(*q) ||
|
||||
*q == '_';
|
||||
|
||||
if (!good)
|
||||
@@ -87,9 +85,8 @@ bool interface_name_is_valid(const char *p) {
|
||||
bool good;
|
||||
|
||||
good =
|
||||
(*q >= 'a' && *q <= 'z') ||
|
||||
(*q >= 'A' && *q <= 'Z') ||
|
||||
(!dot && *q >= '0' && *q <= '9') ||
|
||||
ascii_isalpha(*q) ||
|
||||
(!dot && ascii_isdigit(*q)) ||
|
||||
*q == '_';
|
||||
|
||||
if (!good) {
|
||||
@@ -134,9 +131,8 @@ bool service_name_is_valid(const char *p) {
|
||||
bool good;
|
||||
|
||||
good =
|
||||
(*q >= 'a' && *q <= 'z') ||
|
||||
(*q >= 'A' && *q <= 'Z') ||
|
||||
((!dot || unique) && *q >= '0' && *q <= '9') ||
|
||||
ascii_isalpha(*q) ||
|
||||
((!dot || unique) && ascii_isdigit(*q)) ||
|
||||
IN_SET(*q, '_', '-');
|
||||
|
||||
if (!good)
|
||||
@@ -167,9 +163,8 @@ bool member_name_is_valid(const char *p) {
|
||||
bool good;
|
||||
|
||||
good =
|
||||
(*q >= 'a' && *q <= 'z') ||
|
||||
(*q >= 'A' && *q <= 'Z') ||
|
||||
(*q >= '0' && *q <= '9') ||
|
||||
ascii_isalpha(*q) ||
|
||||
ascii_isdigit(*q) ||
|
||||
*q == '_';
|
||||
|
||||
if (!good)
|
||||
@@ -301,9 +296,8 @@ char *bus_address_escape(const char *v) {
|
||||
|
||||
for (a = v, b = r; *a; a++) {
|
||||
|
||||
if ((*a >= '0' && *a <= '9') ||
|
||||
(*a >= 'a' && *a <= 'z') ||
|
||||
(*a >= 'A' && *a <= 'Z') ||
|
||||
if (ascii_isdigit(*a) ||
|
||||
ascii_isalpha(*a) ||
|
||||
strchr("_-/.", *a))
|
||||
*(b++) = *a;
|
||||
else {
|
||||
|
||||
@@ -171,7 +171,7 @@ static void test_sd_device_one(sd_device *d) {
|
||||
assert_se(val > sysname);
|
||||
assert_se(val < sysname + strlen(sysname));
|
||||
assert_se(in_charset(val, DIGITS));
|
||||
assert_se(!isdigit(val[-1]));
|
||||
assert_se(!ascii_isdigit(val[-1]));
|
||||
} else
|
||||
assert_se(r == -ENOENT);
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ bool id128_is_valid(const char *s) {
|
||||
for (i = 0; i < l; i++) {
|
||||
char c = s[i];
|
||||
|
||||
if (!(c >= '0' && c <= '9') &&
|
||||
if (!ascii_isdigit(c) &&
|
||||
!(c >= 'a' && c <= 'f') &&
|
||||
!(c >= 'A' && c <= 'F'))
|
||||
return false;
|
||||
@@ -42,7 +42,7 @@ bool id128_is_valid(const char *s) {
|
||||
if (c != '-')
|
||||
return false;
|
||||
} else {
|
||||
if (!(c >= '0' && c <= '9') &&
|
||||
if (!ascii_isdigit(c) &&
|
||||
!(c >= 'a' && c <= 'f') &&
|
||||
!(c >= 'A' && c <= 'F'))
|
||||
return false;
|
||||
|
||||
@@ -1470,13 +1470,13 @@ bool journal_field_valid(const char *p, size_t l, bool allow_protected) {
|
||||
return false;
|
||||
|
||||
/* Don't allow digits as first character */
|
||||
if (p[0] >= '0' && p[0] <= '9')
|
||||
if (ascii_isdigit(p[0]))
|
||||
return false;
|
||||
|
||||
/* Only allow A-Z0-9 and '_' */
|
||||
for (const char *a = p; a < p + l; a++)
|
||||
if ((*a < 'A' || *a > 'Z') &&
|
||||
(*a < '0' || *a > '9') &&
|
||||
!ascii_isdigit(*a) &&
|
||||
*a != '_')
|
||||
return false;
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ static int match_is_valid(const void *data, size_t size) {
|
||||
if (*p >= 'A' && *p <= 'Z')
|
||||
continue;
|
||||
|
||||
if (*p >= '0' && *p <= '9')
|
||||
if (ascii_isdigit(*p))
|
||||
continue;
|
||||
|
||||
return false;
|
||||
@@ -2246,7 +2246,7 @@ static bool field_is_valid(const char *field) {
|
||||
if (*p >= 'A' && *p <= 'Z')
|
||||
continue;
|
||||
|
||||
if (*p >= '0' && *p <= '9')
|
||||
if (ascii_isdigit(*p))
|
||||
continue;
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user