Changeset ee83e9c in mainline
- Timestamp:
- 2024-09-05T22:44:57Z (16 months ago)
- Children:
- b0f1366
- Parents:
- 095a989
- File:
-
- 1 edited
-
uspace/app/hrctl/hrctl.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/hrctl/hrctl.c
r095a989 ree83e9c 68 68 "\n" 69 69 "Example usage:\n" 70 " hrctl --create /hr0 -0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n"70 " hrctl --create hr0 -0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n" 71 71 " - creates new mirroring RAID device named /hr0 consisting\n" 72 72 " of 2 drives\n" 73 " hrctl --assemble /hr0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n"73 " hrctl --assemble hr0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n" 74 74 " - assembles RAID device named /hr0 consisting of 2 drives,\n" 75 " that were previously in an array\n"; 75 " that were previously in an array\n" 76 "Limitations:\n" 77 " - device name must be less than 32 characters in size\n"; 76 78 77 79 static struct option const long_options[] = { … … 97 99 98 100 for (i = 0; i < cfg->dev_no; i++) { 99 rc = loc_service_get_id(argv[optind ++], &cfg->devs[i], 0);101 rc = loc_service_get_id(argv[optind], &cfg->devs[i], 0); 100 102 if (rc != EOK) { 101 printf("hrctl: error resolving device \"%s\"\n", argv[ i]);103 printf("hrctl: error resolving device \"%s\"\n", argv[optind]); 102 104 return EINVAL; 103 105 } 106 107 optind++; 104 108 } 105 109 … … 147 151 goto error; 148 152 } 149 str_cpy(cfg->devname, 32, devname);153 str_cpy(cfg->devname, sizeof(cfg->devname), devname); 150 154 151 155 level_str = sif_node_get_attr(narray, "level"); … … 236 240 return 0; 237 241 case 'a': 238 if (str_size(optarg) > 31) {239 printf("hrctl: device name longer than 31 bytes\n");242 if (str_size(optarg) > sizeof(cfg->devname) - 1) { 243 printf("hrctl: device name too long\n"); 240 244 return 1; 241 245 } 242 str_cpy(cfg->devname, 32, optarg);246 str_cpy(cfg->devname, sizeof(cfg->devname), optarg); 243 247 assemble = true; 244 248 break; … … 253 257 goto skip; 254 258 case 'c': 255 if (str_size(optarg) > 31) {256 printf("hrctl: device name longer than 31 bytes\n");259 if (str_size(optarg) > sizeof(cfg->devname) - 1) { 260 printf("hrctl: device name too long\n"); 257 261 return 1; 258 262 } 259 str_cpy(cfg->devname, 32, optarg);263 str_cpy(cfg->devname, sizeof(cfg->devname), optarg); 260 264 create = true; 261 265 break;
Note:
See TracChangeset
for help on using the changeset viewer.
