X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=extras%2Ffloppy%2Fcreate_floppy_devices.c;h=3e73aa83c353f5b55494f60ac8574a5231e295d2;hb=c2175d25248fc25356c881798d688d8745cb5359;hp=7c1ea0715a508a471c7c769586eecadaa346563a;hpb=7c70c25212fe1b4918c4d7f270c46430111ad365;p=elogind.git diff --git a/extras/floppy/create_floppy_devices.c b/extras/floppy/create_floppy_devices.c index 7c1ea0715..3e73aa83c 100644 --- a/extras/floppy/create_floppy_devices.c +++ b/extras/floppy/create_floppy_devices.c @@ -24,8 +24,8 @@ #include #include -#include "../../udev.h" -#include "../../udev_selinux.h" +#include "../../udev/udev.h" +#include "../../udev/udev_selinux.h" static char *table[] = { "", "d360", "h1200", "u360", "u720", "h360", "h720", @@ -69,6 +69,7 @@ void log_message(int priority, const char *format, ...) int main(int argc, char **argv) { char *dev; + char *devname; char node[64]; int type = 0, i, fdnum, c; int major = 2, minor; @@ -77,18 +78,12 @@ int main(int argc, char **argv) mode_t mode = 0660; int create_nodes = 0; int print_nodes = 0; - int unlink_nodes = 0; int is_err = 0; while ((c = getopt(argc, argv, "cudm:U:G:M:t:")) != -1) { switch (c) { case 'c': create_nodes = 1; - unlink_nodes = 0; - break; - case 'u': - unlink_nodes = 1; - create_nodes = 0; break; case 'd': print_nodes = 1; @@ -129,12 +124,17 @@ int main(int argc, char **argv) } dev = argv[optind]; - if (dev[strlen(dev) - 3] != 'f' || dev[strlen(dev) -2 ] != 'd') { + devname = strrchr(dev, '/'); + if (devname != NULL) + devname = &devname[1]; + else + devname = dev; + if (strncmp(devname, "fd", 2) != 0) { fprintf(stderr,"Device '%s' is not a floppy device\n", dev); return 1; } - fdnum = strtol(dev + 2, NULL, 10); + fdnum = strtol(&devname[2], NULL, 10); if (fdnum < 0 || fdnum > 7) { fprintf(stderr,"Floppy device number %d out of range (0-7)\n", fdnum); return 1;