chiark / gitweb /
volume_id: swap - larger PAGE_SIZE support
[elogind.git] / extras / scsi_id / scsi_id.c
index 10ec98c8bf5c7f319cf888f76bffe4ee0776dd51..86c76cfcc40bf11648a5df8e72baca8a70579147 100644 (file)
 #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' },
        {}
 };
 
@@ -135,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);
 }
 
 /*
@@ -385,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':
@@ -394,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':
@@ -461,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;
 }