Skip to content

Commit 2da03cb

Browse files
committed
udev-rules: add helper function for logging
Avoid repeating the same conditional four times. Error messages are capitalized.
1 parent 9c0565b commit 2da03cb

File tree

1 file changed

+13
-22
lines changed

1 file changed

+13
-22
lines changed

src/udev/udev-rules.c

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,13 @@ static int add_token(struct udev_rules *rules, struct token *token) {
474474
return 0;
475475
}
476476

477+
static void log_unknown_owner(int error, const char *entity, const char *owner) {
478+
if (IN_SET(abs(error), ENOENT, ESRCH))
479+
log_error("Specified %s '%s' unknown", entity, owner);
480+
else
481+
log_error_errno(error, "Error resolving %s '%s': %m", entity, owner);
482+
}
483+
477484
static uid_t add_uid(struct udev_rules *rules, const char *owner) {
478485
unsigned int i;
479486
uid_t uid = 0;
@@ -489,12 +496,8 @@ static uid_t add_uid(struct udev_rules *rules, const char *owner) {
489496
}
490497
}
491498
r = get_user_creds(&owner, &uid, NULL, NULL, NULL);
492-
if (r < 0) {
493-
if (r == -ENOENT || r == -ESRCH)
494-
log_error("specified user '%s' unknown", owner);
495-
else
496-
log_error_errno(r, "error resolving user '%s': %m", owner);
497-
}
499+
if (r < 0)
500+
log_unknown_owner(r, "user", owner);
498501

499502
/* grow buffer if needed */
500503
if (rules->uids_cur+1 >= rules->uids_max) {
@@ -536,12 +539,8 @@ static gid_t add_gid(struct udev_rules *rules, const char *group) {
536539
}
537540
}
538541
r = get_group_creds(&group, &gid);
539-
if (r < 0) {
540-
if (r == -ENOENT || r == -ESRCH)
541-
log_error("specified group '%s' unknown", group);
542-
else
543-
log_error_errno(r, "error resolving group '%s': %m", group);
544-
}
542+
if (r < 0)
543+
log_unknown_owner(r, "group", group);
545544

546545
/* grow buffer if needed */
547546
if (rules->gids_cur+1 >= rules->gids_max) {
@@ -2119,11 +2118,7 @@ void udev_rules_apply_to_event(struct udev_rules *rules,
21192118
event->owner_set = true;
21202119
r = get_user_creds(&ow, &event->uid, NULL, NULL, NULL);
21212120
if (r < 0) {
2122-
if (r == -ENOENT || r == -ESRCH)
2123-
log_error("specified user '%s' unknown", owner);
2124-
else
2125-
log_error_errno(r, "error resolving user '%s': %m", owner);
2126-
2121+
log_unknown_owner(r, "user", owner);
21272122
event->uid = 0;
21282123
}
21292124
log_debug("OWNER %u %s:%u",
@@ -2145,11 +2140,7 @@ void udev_rules_apply_to_event(struct udev_rules *rules,
21452140
event->group_set = true;
21462141
r = get_group_creds(&gr, &event->gid);
21472142
if (r < 0) {
2148-
if (r == -ENOENT || r == -ESRCH)
2149-
log_error("specified group '%s' unknown", group);
2150-
else
2151-
log_error_errno(r, "error resolving group '%s': %m", group);
2152-
2143+
log_unknown_owner(r, "group", group);
21532144
event->gid = 0;
21542145
}
21552146
log_debug("GROUP %u %s:%u",

0 commit comments

Comments
 (0)