logging_init("create_floppy_devices");
udev_set_log_fn(udev, log_fn);
+ udev_selinux_init(udev);
while ((c = getopt(argc, argv, "cudm:U:G:M:t:")) != -1) {
switch (c) {
print_nodes = 1;
break;
case 'U':
- uid = lookup_user(udev, optarg);
+ uid = util_lookup_user(udev, optarg);
break;
case 'G':
- gid = lookup_group(udev, optarg);
+ gid = util_lookup_group(udev, optarg);
break;
case 'M':
mode = strtol(optarg, NULL, 0);
return 1;
}
if (fdnum > 3)
- fdnum += 128;
+ fdnum += 124;
if (major < 1) {
fprintf(stderr,"Invalid major number %d\n", major);
return 1;
}
- if (type < 0 || type > (int) sizeof(table)) {
+ if (type < 0 || type >= (int) ARRAY_SIZE(table_sup)) {
fprintf(stderr,"Invalid CMOS type %d\n", type);
return 1;
}
sprintf(node, "%s%s", dev, table[table_sup[type][i]]);
minor = (table_sup[type][i] << 2) + fdnum;
if (print_nodes)
- printf("%s b %d %d %d\n", node, mode, major, minor);
+ printf("%s b %.4o %d %d\n", node, mode, major, minor);
if (create_nodes) {
unlink(node);
udev_selinux_setfscreatecon(udev, node, S_IFBLK | mode);
i++;
}
+ udev_selinux_exit(udev);
udev_unref(udev);
exit:
return 0;