chiark / gitweb /
rule_generator: fix enumeration for write_cd_rules
[elogind.git] / extras / floppy / create_floppy_devices.c
index 6c5b3b4800c91cae5be8752bdf9f173f7d44ae08..0698fcd3e83cf629f0e3173aa70eb0eed9afb7e5 100644 (file)
@@ -68,7 +68,7 @@ int main(int argc, char **argv)
 
        logging_init("create_floppy_devices");
        udev_set_log_fn(udev, log_fn);
-       selinux_init(udev);
+       udev_selinux_init(udev);
 
        while ((c = getopt(argc, argv, "cudm:U:G:M:t:")) != -1) {
                switch (c) {
@@ -79,10 +79,10 @@ int main(int argc, char **argv)
                        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);
@@ -130,14 +130,14 @@ int main(int argc, char **argv)
                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;
        }
@@ -150,7 +150,7 @@ int main(int argc, char **argv)
                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);
@@ -162,7 +162,7 @@ int main(int argc, char **argv)
                i++;
        }
 
-       selinux_exit(udev);
+       udev_selinux_exit(udev);
        udev_unref(udev);
 exit:
        return 0;