}
static int make_extra_nodes(const char *dest) {
- size_t i;
int r;
BLOCK_WITH_UMASK(0000);
- for (i = 0; i < arg_n_extra_nodes; i++) {
+ FOREACH_ARRAY(node, arg_extra_nodes, arg_n_extra_nodes) {
_cleanup_free_ char *path = NULL;
- DeviceNode *n = arg_extra_nodes + i;
- path = path_join(dest, n->path);
+ path = path_join(dest, node->path);
if (!path)
return log_oom();
- if (mknod(path, n->mode, S_ISCHR(n->mode) || S_ISBLK(n->mode) ? makedev(n->major, n->minor) : 0) < 0)
+ dev_t dev = S_ISCHR(node->mode) || S_ISBLK(node->mode) ? makedev(node->major, node->minor) : 0;
+ if (mknod(path, node->mode, dev) < 0)
return log_error_errno(errno, "Failed to create device node '%s': %m", path);
- r = chmod_and_chown(path, n->mode, n->uid, n->gid);
+ r = chmod_and_chown(path, node->mode, node->uid, node->gid);
if (r < 0)
return log_error_errno(r, "Failed to adjust device node ownership of '%s': %m", path);
}