X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fscsi_id%2Fscsi_id.c;h=86c76cfcc40bf11648a5df8e72baca8a70579147;hb=fcd070d010de9ed803abec8899cefc399cfc5fe7;hp=d692a86799db76ef2f2ed9bb64ced6267930013f;hpb=7d563a17f3967890331daf08d43f2f005418139b;p=elogind.git diff --git a/extras/scsi_id/scsi_id.c b/extras/scsi_id/scsi_id.c index d692a8679..86c76cfcc 100644 --- a/extras/scsi_id/scsi_id.c +++ b/extras/scsi_id/scsi_id.c @@ -14,8 +14,6 @@ * Free Software Foundation version 2 of the License. */ -#include "config.h" - #include #include #include @@ -33,17 +31,17 @@ #include "scsi_id.h" static const struct option options[] = { - { "device", 1, NULL, 'd' }, - { "config", 1, NULL, 'f' }, - { "page", 1, NULL, 'p' }, - { "blacklisted", 0, NULL, 'b' }, - { "whitelisted", 0, NULL, 'g' }, - { "replace-whitespace", 0, NULL, 'u' }, - { "sg-version", 1, NULL, 's' }, - { "verbose", 0, NULL, 'v' }, - { "version", 0, NULL, 'V' }, - { "export", 0, NULL, 'x' }, - { "help", 0, NULL, 'h' }, + { "device", required_argument, NULL, 'd' }, + { "config", required_argument, NULL, 'f' }, + { "page", required_argument, NULL, 'p' }, + { "blacklisted", no_argument, NULL, 'b' }, + { "whitelisted", no_argument, NULL, 'g' }, + { "replace-whitespace", no_argument, NULL, 'u' }, + { "sg-version", required_argument, NULL, 's' }, + { "verbose", no_argument, NULL, 'v' }, + { "version", no_argument, NULL, 'V' }, + { "export", no_argument, NULL, 'x' }, + { "help", no_argument, NULL, 'h' }, {} }; @@ -137,8 +135,7 @@ static void set_type(char *to, const char *from, size_t len) break; } } - strncpy(to, type, len); - to[len-1] = '\0'; + util_strlcpy(to, type, len); } /* @@ -258,7 +255,7 @@ static int get_file_options(struct udev *udev, if (*buf == '#') continue; - dbg("lineno %d: '%s'\n", lineno, buf); + dbg(udev, "lineno %d: '%s'\n", lineno, buf); str1 = strsep(&buf, "="); if (str1 && strcasecmp(str1, "VENDOR") == 0) { str1 = get_value(&buf); @@ -288,7 +285,7 @@ static int get_file_options(struct udev *udev, } options_in = str1; } - dbg("config file line %d:\n" + dbg(udev, "config file line %d:\n" " vendor '%s'; model '%s'; options '%s'\n", lineno, vendor_in, model_in, options_in); /* @@ -301,7 +298,7 @@ static int get_file_options(struct udev *udev, } if (vendor == NULL) { if (vendor_in == NULL) { - dbg("matched global option\n"); + dbg(udev, "matched global option\n"); break; } } else if ((vendor_in && strncmp(vendor, vendor_in, @@ -315,10 +312,10 @@ static int get_file_options(struct udev *udev, * give a partial match (that is FOO * matches FOOBAR). */ - dbg("matched vendor/model\n"); + dbg(udev, "matched vendor/model\n"); break; } else { - dbg("no match\n"); + dbg(udev, "no match\n"); } } @@ -387,8 +384,7 @@ static int set_options(struct udev *udev, case 'd': dev_specified = 1; - strncpy(maj_min_dev, optarg, MAX_PATH_LEN); - maj_min_dev[MAX_PATH_LEN-1] = '\0'; + util_strlcpy(maj_min_dev, optarg, MAX_PATH_LEN); break; case 'e': @@ -396,8 +392,7 @@ static int set_options(struct udev *udev, break; case 'f': - strncpy(config_file, optarg, MAX_PATH_LEN); - config_file[MAX_PATH_LEN-1] = '\0'; + util_strlcpy(config_file, optarg, MAX_PATH_LEN); break; case 'g': @@ -463,8 +458,7 @@ static int set_options(struct udev *udev, } if (optind < argc && !dev_specified) { dev_specified = 1; - strncpy(maj_min_dev, argv[optind], MAX_PATH_LEN); - maj_min_dev[MAX_PATH_LEN-1] = '\0'; + util_strlcpy(maj_min_dev, argv[optind], MAX_PATH_LEN); } return 0; } @@ -591,7 +585,7 @@ static int scsi_id(struct udev *udev, char *maj_min_dev) /* get per device (vendor + model) options from the config file */ retval = per_dev_options(udev, &dev_scsi, &good_dev, &page_code); - dbg("per dev options: good %d; page code 0x%x\n", good_dev, page_code); + dbg(udev, "per dev options: good %d; page code 0x%x\n", good_dev, page_code); if (!good_dev) { retval = 1; @@ -619,7 +613,7 @@ static int scsi_id(struct udev *udev, char *maj_min_dev) format_serial(dev_scsi.serial); printf("%s\n", dev_scsi.serial); } - dbg("%s\n", dev_scsi.serial); + dbg(udev, "%s\n", dev_scsi.serial); retval = 0; }