Index: uspace/app/hrctl/hrctl.c
===================================================================
--- uspace/app/hrctl/hrctl.c	(revision 095a9899dd171eafbfd3db014e011dc0b000c057)
+++ uspace/app/hrctl/hrctl.c	(revision ee83e9cf5b7876922b8efc19ac46344d1f5194bf)
@@ -68,10 +68,12 @@
     "\n"
     "Example usage:\n"
-    "  hrctl --create /hr0 -0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n"
+    "  hrctl --create hr0 -0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n"
     "    - creates new mirroring RAID device named /hr0 consisting\n"
     "      of 2 drives\n"
-    "  hrctl --assemble /hr0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n"
+    "  hrctl --assemble hr0 -n 2 devices/\\hw\\0 devices/\\hw\\1\n"
     "    - assembles RAID device named /hr0 consisting of 2 drives,\n"
-    "      that were previously in an array\n";
+    "      that were previously in an array\n"
+    "Limitations:\n"
+    "  - device name must be less than 32 characters in size\n";
 
 static struct option const long_options[] = {
@@ -97,9 +99,11 @@
 
 	for (i = 0; i < cfg->dev_no; i++) {
-		rc = loc_service_get_id(argv[optind++], &cfg->devs[i], 0);
+		rc = loc_service_get_id(argv[optind], &cfg->devs[i], 0);
 		if (rc != EOK) {
-			printf("hrctl: error resolving device \"%s\"\n", argv[i]);
+			printf("hrctl: error resolving device \"%s\"\n", argv[optind]);
 			return EINVAL;
 		}
+
+		optind++;
 	}
 
@@ -147,5 +151,5 @@
 		goto error;
 	}
-	str_cpy(cfg->devname, 32, devname);
+	str_cpy(cfg->devname, sizeof(cfg->devname), devname);
 
 	level_str = sif_node_get_attr(narray, "level");
@@ -236,9 +240,9 @@
 			return 0;
 		case 'a':
-			if (str_size(optarg) > 31) {
-				printf("hrctl: device name longer than 31 bytes\n");
+			if (str_size(optarg) > sizeof(cfg->devname) - 1) {
+				printf("hrctl: device name too long\n");
 				return 1;
 			}
-			str_cpy(cfg->devname, 32, optarg);
+			str_cpy(cfg->devname, sizeof(cfg->devname), optarg);
 			assemble = true;
 			break;
@@ -253,9 +257,9 @@
 			goto skip;
 		case 'c':
-			if (str_size(optarg) > 31) {
-				printf("hrctl: device name longer than 31 bytes\n");
+			if (str_size(optarg) > sizeof(cfg->devname) - 1) {
+				printf("hrctl: device name too long\n");
 				return 1;
 			}
-			str_cpy(cfg->devname, 32, optarg);
+			str_cpy(cfg->devname, sizeof(cfg->devname), optarg);
 			create = true;
 			break;
