Merge pull request #512 from kanoi/master klondike remove SCNu8 - unsupported on windows
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
diff --git a/driver-klondike.c b/driver-klondike.c
index dcdd671..0d6d157 100644
--- a/driver-klondike.c
+++ b/driver-klondike.c
@@ -695,17 +695,32 @@ static bool klondike_init(struct cgpu_info *klncgpu)
// boundaries are checked by device, with valid values returned
if (opt_klondike_options != NULL) {
- int hashclock;
+ int hashclock, fantarget;
double temp1, temp2;
- sscanf(opt_klondike_options, "%d:%lf:%lf:%"SCNu8,
+ sscanf(opt_klondike_options, "%d:%lf:%lf:%d",
&hashclock,
&temp1, &temp2,
- &kline.cfg.fantarget);
+ &fantarget);
SET_HASHCLOCK(kline.cfg.hashclock, hashclock);
kline.cfg.temptarget = cvtCToKln(temp1);
kline.cfg.tempcritical = cvtCToKln(temp2);
- kline.cfg.fantarget = (int)255*kline.cfg.fantarget/100;
+ if (fantarget < 0) {
+ applog(LOG_WARNING,
+ "%s%i: %s options invalid fantarget < 0 using 0",
+ klncgpu->drv->name,
+ klncgpu->device_id,
+ klncgpu->drv->dname);
+ fantarget = 0;
+ } else if (fantarget > 100) {
+ applog(LOG_WARNING,
+ "%s%i: %s options invalid fantarget > 100 using 100",
+ klncgpu->drv->name,
+ klncgpu->device_id,
+ klncgpu->drv->dname);
+ fantarget = 100;
+ }
+ kline.cfg.fantarget = (int)(255 * fantarget / 100);
size = sizeof(kline.cfg) - 2;
}