- } else if (capability == HWCAP_LIMIT_MSEC) {
- sigma->limit_msec = strtoull(value, NULL, 10);
- ret = SIGROK_OK;
- } else if (capability == HWCAP_CAPTURE_RATIO) {
- sigma->capture_ratio = strtoull(value, NULL, 10);
- ret = SIGROK_OK;
+ } else if (capability == SR_HWCAP_LIMIT_MSEC) {
+ sigma->limit_msec = *(uint64_t*) value;
+ if (sigma->limit_msec > 0)
+ ret = SR_OK;
+ else
+ ret = SR_ERR;
+ } else if (capability == SR_HWCAP_CAPTURE_RATIO) {
+ sigma->capture_ratio = *(uint64_t*) value;
+ if (sigma->capture_ratio < 0 || sigma->capture_ratio > 100)
+ ret = SR_ERR;
+ else
+ ret = SR_OK;