Browse Source

Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp.

Con Kolivas 13 years ago
parent
commit
87708a6a0e
4 changed files with 54 additions and 51 deletions
  1. 16 16
      adl.c
  2. 30 30
      cgminer.c
  3. 5 5
      driver-opencl.c
  4. 3 0
      miner.h

+ 16 - 16
adl.c

@@ -1198,34 +1198,34 @@ void change_autosettings(int gpu)
 	wlogprint("Toggle [F]an auto [G]PU auto\nChange [T]arget [O]verheat [C]utoff\n");
 	wlogprint("Or press any other key to continue\n");
 	input = getch();
-	if (!strncasecmp(&input, "f", 1)) {
+	if (INPUTEQ(f)) {
 		ga->autofan ^= true;
 		wlogprint("Fan autotune is now %s\n", ga->autofan ? "enabled" : "disabled");
 		if (!ga->autofan) {
 			wlogprint("Resetting fan to startup settings\n");
 			set_defaultfan(gpu);
 		}
-	} else if (!strncasecmp(&input, "g", 1)) {
+	} else if (INPUTEQ(g)) {
 		ga->autoengine ^= true;
 		wlogprint("GPU engine clock autotune is now %s\n", ga->autoengine ? "enabled" : "disabled");
 		if (!ga->autoengine) {
 			wlogprint("Resetting GPU engine clock to startup settings\n");
 			set_defaultengine(gpu);
 		}
-	} else if (!strncasecmp(&input, "t", 1)) {
+	} else if (INPUTEQ(t)) {
 		val = curses_int("Enter target temperature for this GPU in C (0-200)");
 		if (val < 0 || val > 200)
 			wlogprint("Invalid temperature");
 		else
 			ga->targettemp = val;
-	} else if (!strncasecmp(&input, "o", 1)) {
+	} else if (INPUTEQ(o)) {
 		wlogprint("Enter overheat temperature for this GPU in C (%d+)", ga->targettemp);
 		val = curses_int("");
 		if (val <= ga->targettemp || val > 200)
 			wlogprint("Invalid temperature");
 		else
 			ga->overtemp = val;
-	} else if (!strncasecmp(&input, "c", 1)) {
+	} else if (INPUTEQ(c)) {
 		wlogprint("Enter cutoff temperature for this GPU in C (%d+)", ga->overtemp);
 		val = curses_int("");
 		if (val <= ga->overtemp || val > 200)
@@ -1265,70 +1265,70 @@ updated:
 	wlogprint("Or press any other key to continue\n");
 	input = getch();
 
-	if (!strncasecmp(&input, "a", 1)) {
+	if (INPUTEQ(a)) {
 		change_autosettings(gpu);
-	} else if (!strncasecmp(&input, "e", 1)) {
+	} else if (INPUTEQ(e)) {
 		get_enginerange(gpu, &imin, &imax);
 		wlogprint("Enter GPU engine clock speed (%d - %d Mhz)", imin, imax);
 		val = curses_int("");
 		if (val < imin || val > imax) {
 			wlogprint("Value is outside safe range, are you sure?\n");
 			input = getch();
-			if (strncasecmp(&input, "y", 1))
+			if (INPUTNEQ(y))
 				return;
 		}
 		if (!set_engineclock(gpu, val))
 			wlogprint("Driver reports success but check values below\n");
 		else
 			wlogprint("Failed to modify engine clock speed\n");
-	} else if (!strncasecmp(&input, "f", 1)) {
+	} else if (INPUTEQ(f)) {
 		get_fanrange(gpu, &imin, &imax);
 		wlogprint("Enter fan percentage (%d - %d %)", imin, imax);
 		val = curses_int("");
 		if (val < imin || val > imax) {
 			wlogprint("Value is outside safe range, are you sure?\n");
 			input = getch();
-			if (strncasecmp(&input, "y", 1))
+			if (INPUTNEQ(y))
 				return;
 		}
 		if (!set_fanspeed(gpu, val))
 			wlogprint("Driver reports success but check values below\n");
 		else
 			wlogprint("Failed to modify fan speed\n");
-	} else if (!strncasecmp(&input, "m", 1)) {
+	} else if (INPUTEQ(m)) {
 		get_memoryrange(gpu, &imin, &imax);
 		wlogprint("Enter GPU memory clock speed (%d - %d Mhz)", imin, imax);
 		val = curses_int("");
 		if (val < imin || val > imax) {
 			wlogprint("Value is outside safe range, are you sure?\n");
 			input = getch();
-			if (strncasecmp(&input, "y", 1))
+			if (INPUTNEQ(y))
 				return;
 		}
 		if (!set_memoryclock(gpu, val))
 			wlogprint("Driver reports success but check values below\n");
 		else
 			wlogprint("Failed to modify memory clock speed\n");
-	} else if (!strncasecmp(&input, "v", 1)) {
+	} else if (INPUTEQ(v)) {
 		get_vddcrange(gpu, &fmin, &fmax);
 		wlogprint("Enter GPU voltage (%.3f - %.3f V)", fmin, fmax);
 		fval = curses_float("");
 		if (fval < fmin || fval > fmax) {
 			wlogprint("Value is outside safe range, are you sure?\n");
 			input = getch();
-			if (strncasecmp(&input, "y", 1))
+			if (INPUTNEQ(y))
 				return;
 		}
 		if (!set_vddc(gpu, fval))
 			wlogprint("Driver reports success but check values below\n");
 		else
 			wlogprint("Failed to modify voltage\n");
-	} else if (!strncasecmp(&input, "p", 1)) {
+	} else if (INPUTEQ(p)) {
 		val = curses_int("Enter powertune value (-20 - 20)");
 		if (val < -20 || val > 20) {
 			wlogprint("Value is outside safe range, are you sure?\n");
 			input = getch();
-			if (strncasecmp(&input, "y", 1))
+			if (INPUTNEQ(y))
 				return;
 		}
 		if (!set_powertune(gpu, val))

+ 30 - 30
cgminer.c

@@ -2814,10 +2814,10 @@ retry:
 	wlogprint("Or press any other key to continue\n");
 	input = getch();
 
-	if (!strncasecmp(&input, "a", 1)) {
+	if (INPUTEQ(a)) {
 		input_pool(true);
 		goto updated;
-	} else if (!strncasecmp(&input, "r", 1)) {
+	} else if (INPUTEQ(r)) {
 		if (total_pools <= 1) {
 			wlogprint("Cannot remove last pool");
 			goto retry;
@@ -2837,7 +2837,7 @@ retry:
 		pool->enabled = POOL_DISABLED;
 		remove_pool(pool);
 		goto updated;
-	} else if (!strncasecmp(&input, "s", 1)) {
+	} else if (INPUTEQ(s)) {
 		selected = curses_int("Select pool number");
 		if (selected < 0 || selected >= total_pools) {
 			wlogprint("Invalid selection\n");
@@ -2847,7 +2847,7 @@ retry:
 		pool->enabled = POOL_ENABLED;
 		switch_pools(pool);
 		goto updated;
-	} else if (!strncasecmp(&input, "d", 1)) {
+	} else if (INPUTEQ(d)) {
 		if (active_pools() <= 1) {
 			wlogprint("Cannot disable last pool");
 			goto retry;
@@ -2862,7 +2862,7 @@ retry:
 		if (pool == current_pool())
 			switch_pools(NULL);
 		goto updated;
-	} else if (!strncasecmp(&input, "e", 1)) {
+	} else if (INPUTEQ(e)) {
 		selected = curses_int("Select pool number");
 		if (selected < 0 || selected >= total_pools) {
 			wlogprint("Invalid selection\n");
@@ -2873,7 +2873,7 @@ retry:
 		if (pool->prio < current_pool()->prio)
 			switch_pools(pool);
 		goto updated;
-	} else if (!strncasecmp(&input, "c", 1)) {
+	} else if (INPUTEQ(c)) {
 		for (i = 0; i <= TOP_STRATEGY; i++)
 			wlogprint("%d: %s\n", i, strategies[i]);
 		selected = curses_int("Select strategy number type");
@@ -2893,7 +2893,7 @@ retry:
 		pool_strategy = selected;
 		switch_pools(NULL);
 		goto updated;
-	} else if (!strncasecmp(&input, "i", 1)) {
+	} else if (INPUTEQ(i)) {
 		selected = curses_int("Select pool number");
 		if (selected < 0 || selected >= total_pools) {
 			wlogprint("Invalid selection\n");
@@ -2928,17 +2928,17 @@ retry:
 		opt_log_interval);
 	wlogprint("Select an option or any other key to return\n");
 	input = getch();
-	if (!strncasecmp(&input, "q", 1)) {
+	if (INPUTEQ(q)) {
 		opt_quiet ^= true;
 		wlogprint("Quiet mode %s\n", opt_quiet ? "enabled" : "disabled");
 		goto retry;
-	} else if (!strncasecmp(&input, "v", 1)) {
+	} else if (INPUTEQ(v)) {
 		opt_log_output ^= true;
 		if (opt_log_output)
 			opt_quiet = false;
 		wlogprint("Verbose mode %s\n", opt_log_output ? "enabled" : "disabled");
 		goto retry;
-	} else if (!strncasecmp(&input, "n", 1)) {
+	} else if (INPUTEQ(n)) {
 		opt_log_output = false;
 		opt_debug = false;
 		opt_quiet = false;
@@ -2946,27 +2946,27 @@ retry:
 		want_per_device_stats = false;
 		wlogprint("Output mode reset to normal\n");
 		goto retry;
-	} else if (!strncasecmp(&input, "d", 1)) {
+	} else if (INPUTEQ(d)) {
 		opt_debug ^= true;
 		opt_log_output = opt_debug;
 		if (opt_debug)
 			opt_quiet = false;
 		wlogprint("Debug mode %s\n", opt_debug ? "enabled" : "disabled");
 		goto retry;
-	} else if (!strncasecmp(&input, "p", 1)) {
+	} else if (INPUTEQ(p)) {
 		want_per_device_stats ^= true;
 		opt_log_output = want_per_device_stats;
 		wlogprint("Per-device stats %s\n", want_per_device_stats ? "enabled" : "disabled");
 		goto retry;
-	} else if (!strncasecmp(&input, "r", 1)) {
+	} else if (INPUTEQ(r)) {
 		opt_protocol ^= true;
 		if (opt_protocol)
 			opt_quiet = false;
 		wlogprint("RPC protocol debugging %s\n", opt_protocol ? "enabled" : "disabled");
 		goto retry;
-	} else if (!strncasecmp(&input, "c", 1))
+	} else if (INPUTEQ(c))
 		clear_logwin();
-	else if (!strncasecmp(&input, "l", 1)) {
+	else if (INPUTEQ(l)) {
 		selected = curses_int("Interval in seconds");
 		if (selected < 0 || selected > 9999) {
 			wlogprint("Invalid selection\n");
@@ -2975,7 +2975,7 @@ retry:
 		opt_log_interval = selected;
 		wlogprint("Log interval set to %d seconds\n", opt_log_interval);
 		goto retry;
-	} else if (!strncasecmp(&input, "s", 1)) {
+	} else if (INPUTEQ(s)) {
 		opt_realquiet = true;
 	} else
 		clear_logwin();
@@ -3001,7 +3001,7 @@ retry:
 	wlogprint("Select an option or any other key to return\n");
 	input = getch();
 
-	if (!strncasecmp(&input, "q", 1)) {
+	if (INPUTEQ(q)) {
 		selected = curses_int("Extra work items to queue");
 		if (selected < 0 || selected > 9999) {
 			wlogprint("Invalid selection\n");
@@ -3009,7 +3009,7 @@ retry:
 		}
 		opt_queue = selected;
 		goto retry;
-	} else if  (!strncasecmp(&input, "s", 1)) {
+	} else if  (INPUTEQ(s)) {
 		selected = curses_int("Set scantime in seconds");
 		if (selected < 0 || selected > 9999) {
 			wlogprint("Invalid selection\n");
@@ -3017,7 +3017,7 @@ retry:
 		}
 		opt_scantime = selected;
 		goto retry;
-	} else if  (!strncasecmp(&input, "e", 1)) {
+	} else if  (INPUTEQ(e)) {
 		selected = curses_int("Set expiry time in seconds");
 		if (selected < 0 || selected > 9999) {
 			wlogprint("Invalid selection\n");
@@ -3025,7 +3025,7 @@ retry:
 		}
 		opt_expiry = selected;
 		goto retry;
-	} else if  (!strncasecmp(&input, "r", 1)) {
+	} else if  (INPUTEQ(r)) {
 		selected = curses_int("Retries before failing (-1 infinite)");
 		if (selected < -1 || selected > 9999) {
 			wlogprint("Invalid selection\n");
@@ -3033,7 +3033,7 @@ retry:
 		}
 		opt_retries = selected;
 		goto retry;
-	} else if  (!strncasecmp(&input, "p", 1)) {
+	} else if  (INPUTEQ(p)) {
 		selected = curses_int("Seconds to pause before network retries");
 		if (selected < 1 || selected > 9999) {
 			wlogprint("Invalid selection\n");
@@ -3041,7 +3041,7 @@ retry:
 		}
 		opt_fail_pause = selected;
 		goto retry;
-	} else if  (!strncasecmp(&input, "w", 1)) {
+	} else if  (INPUTEQ(w)) {
 		FILE *fcfg;
 		char *str, filename[PATH_MAX], prompt[PATH_MAX + 50];
 
@@ -3067,7 +3067,7 @@ retry:
 			if (!stat(filename, &statbuf)) {
 				wlogprint("File exists, overwrite?\n");
 				input = getch();
-				if (strncasecmp(&input, "y", 1))
+				if (INPUTNEQ(y))
 					goto retry;
 			}
 		}
@@ -3080,10 +3080,10 @@ retry:
 		fclose(fcfg);
 		goto retry;
 
-	} else if (!strncasecmp(&input, "c", 1)) {
+	} else if (INPUTEQ(c)) {
 		wlogprint("Are you sure?\n");
 		input = getch();
-		if (!strncasecmp(&input, "y", 1))
+		if (INPUTEQ(y))
 			app_restart();
 		else
 			clear_logwin();
@@ -3105,16 +3105,16 @@ static void *input_thread(void __maybe_unused *userdata)
 		char input;
 
 		input = getch();
-		if (!strncasecmp(&input, "q", 1)) {
+		if (INPUTEQ(q)) {
 			kill_work();
 			return NULL;
-		} else if (!strncasecmp(&input, "d", 1))
+		} else if (INPUTEQ(d))
 			display_options();
-		else if (!strncasecmp(&input, "p", 1))
+		else if (INPUTEQ(p))
 			display_pools();
-		else if (!strncasecmp(&input, "s", 1))
+		else if (INPUTEQ(s))
 			set_options();
-		else if (have_opencl && !strncasecmp(&input, "g", 1))
+		else if (have_opencl && INPUTEQ(g))
 			manage_gpu();
 		if (opt_realquiet) {
 			disable_curses();

+ 5 - 5
driver-opencl.c

@@ -663,7 +663,7 @@ retry:
 		selected = 0;
 	else
 		selected = -1;
-	if (!strncasecmp(&input, "e", 1)) {
+	if (INPUTEQ(e)) {
 		struct cgpu_info *cgpu;
 
 		if (selected)
@@ -693,7 +693,7 @@ retry:
 			tq_push(thr->q, &ping);
 		}
 		goto retry;
-	} if (!strncasecmp(&input, "d", 1)) {
+	} if (INPUTEQ(d)) {
 		if (selected)
 			selected = curses_int("Select GPU to disable");
 		if (selected < 0 || selected >= nDevs) {
@@ -706,7 +706,7 @@ retry:
 		}
 		gpus[selected].deven = DEV_DISABLED;
 		goto retry;
-	} else if (!strncasecmp(&input, "i", 1)) {
+	} else if (INPUTEQ(i)) {
 		int intensity;
 		char *intvar;
 
@@ -739,7 +739,7 @@ retry:
 		wlogprint("Intensity on gpu %d set to %d\n", selected, intensity);
 		pause_dynamic_threads(selected);
 		goto retry;
-	} else if (!strncasecmp(&input, "r", 1)) {
+	} else if (INPUTEQ(r)) {
 		if (selected)
 			selected = curses_int("Select GPU to attempt to restart");
 		if (selected < 0 || selected >= nDevs) {
@@ -749,7 +749,7 @@ retry:
 		wlogprint("Attempting to restart threads of GPU %d\n", selected);
 		reinit_device(&gpus[selected]);
 		goto retry;
-	} else if (adl_active && (!strncasecmp(&input, "c", 1))) {
+	} else if (adl_active && (INPUTEQ(c))) {
 		if (selected)
 			selected = curses_int("Select GPU to change settings on");
 		if (selected < 0 || selected >= nDevs) {

+ 3 - 0
miner.h

@@ -130,6 +130,9 @@ void *alloca (size_t);
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 #endif
 
+#define INPUTEQ(X)	(!strncasecmp(&input, ("X"), 1))
+#define INPUTNEQ(X)	(strncasecmp(&input, ("X"), 1))
+
 enum alive {
 	LIFE_WELL,
 	LIFE_SICK,