Răsfoiți Sursa

quorumtool: strict check for -o option

Signed-off-by: liangxin1300 <XLiang@suse.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>
(cherry picked from commit 56f9f191545b8271299bbff6f54c8fbc0c0edbba)
liangxin1300 5 ani în urmă
părinte
comite
fb73a22928
1 a modificat fișierele cu 9 adăugiri și 13 ștergeri
  1. 9 13
      tools/corosync-quorumtool.c

+ 9 - 13
tools/corosync-quorumtool.c

@@ -888,7 +888,6 @@ int main (int argc, char *argv[]) {
 	name_format_t address_format = ADDRESS_FORMAT_NAME;
 	name_format_t address_format = ADDRESS_FORMAT_NAME;
 	command_t command_opt = CMD_SHOWSTATUS;
 	command_t command_opt = CMD_SHOWSTATUS;
 	sorttype_t sort_opt = SORT_ADDR;
 	sorttype_t sort_opt = SORT_ADDR;
-	char sortchar;
 	long long int l;
 	long long int l;
 
 
 	while ( (opt = getopt(argc, argv, options)) != -1 ) {
 	while ( (opt = getopt(argc, argv, options)) != -1 ) {
@@ -942,18 +941,15 @@ int main (int argc, char *argv[]) {
 			command_opt = CMD_SETVOTES;
 			command_opt = CMD_SETVOTES;
 			break;
 			break;
 		case 'o':
 		case 'o':
-			sortchar = optarg[0];
-			switch (sortchar) {
-			        case 'a': sort_opt = SORT_ADDR;
-					break;
-			        case 'i': sort_opt = SORT_NODEID;
-					break;
-			        case 'n': sort_opt = SORT_NODENAME;
-					break;
-			        default:
-					fprintf(stderr, "Invalid ordering option. valid orders are a(address), i(node ID) or n(name)\n");
-					exit(EXIT_FAILURE);
-					break;
+			if (strcmp(optarg, "a") == 0) {
+				sort_opt = SORT_ADDR;
+			} else if (strcmp(optarg, "i") == 0) {
+				sort_opt = SORT_NODEID;
+			} else if (strcmp(optarg, "n") == 0) {
+				sort_opt = SORT_NODENAME;
+			} else {
+				fprintf(stderr, "Invalid ordering option. valid orders are a(address), i(node ID) or n(name)\n");
+				exit(EXIT_FAILURE);
 			}
 			}
 			break;
 			break;
 		case 'V':
 		case 'V':