Return -1 and print a message for invalid product param

Change-Id: Ie6e5728ae343170e4ac3087bd37d7554906de5d1
This commit is contained in:
Kamil Diedrich
2018-06-14 10:19:39 +02:00
committed by sys_ocldev
parent 75ab0c6fe1
commit 9aa29edb73

View File

@ -233,20 +233,30 @@ int main(int argc, char **argv) {
++i;
if (i < argc) {
if (::isdigit(argv[i][0])) {
::productFamily = (PRODUCT_FAMILY)atoi(argv[i]);
int productValue = atoi(argv[i]);
if (productValue > 0 && productValue < IGFX_MAX_PRODUCT && hardwarePrefix[productValue] != nullptr) {
::productFamily = static_cast<PRODUCT_FAMILY>(productValue);
} else {
::productFamily = IGFX_UNKNOWN;
}
} else {
::productFamily = IGFX_UNKNOWN;
for (int j = 0; j < IGFX_MAX_PRODUCT; j++) {
if (hardwarePrefix[j] == nullptr)
continue;
if (strcmp(hardwarePrefix[j], argv[i]) == 0) {
::productFamily = (PRODUCT_FAMILY)j;
::productFamily = static_cast<PRODUCT_FAMILY>(j);
break;
}
}
}
if (::productFamily == IGFX_UNKNOWN) {
std::cout << "unknown or unsupported product family has been set: " << argv[i] << std::endl;
return -1;
} else {
std::cout << "product family: " << hardwarePrefix[::productFamily] << " (" << ::productFamily << ")" << std::endl;
}
}
} else if (!strcmp("--slices", argv[i])) {
++i;
if (i < argc) {