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:
Lennart Poettering
2022-07-05 14:25:07 +02:00
parent 82c3a0b74c
commit ff25d3385d
25 changed files with 68 additions and 89 deletions
+10 -16
View File
@@ -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 {
+1 -1
View File
@@ -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);
+2 -2
View File
@@ -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;
+2 -2
View File
@@ -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;
+2 -2
View File
@@ -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;