| 1408 | |
| 1409 | |
| 1410 | BOOLEAN IsOSValid(const XString8& MatchOS, const XString8& CurrOS) |
| 1411 | { |
| 1412 | /* example for valid matches are: |
| 1413 | 10.7, only 10.7 (10.7.1 will be skipped) |
| 1414 | 10.10.2 only 10.10.2 (10.10.1 or 10.10.5 will be skipped) |
| 1415 | 10.10.x (or 10.10.X), in this case is valid for all minor version of 10.10 (10.10.(0-9)) |
| 1416 | */ |
| 1417 | |
| 1418 | BOOLEAN ret = FALSE; |
| 1419 | |
| 1420 | if (MatchOS.isEmpty() || CurrOS.isEmpty()) { |
| 1421 | return TRUE; //undefined matched corresponds to old behavior |
| 1422 | } |
| 1423 | |
| 1424 | // osToc = GetStrArraySeparatedByChar(MatchOS, '.'); |
| 1425 | XString8Array osToc = Split<XString8Array>(MatchOS, "."_XS8).trimEachString(); |
| 1426 | XString8Array currOStoc = Split<XString8Array>(CurrOS, "."_XS8).trimEachString(); |
| 1427 | |
| 1428 | if (osToc.size() == 2) { |
| 1429 | if (currOStoc.size() == 2) { |
| 1430 | if ( osToc[0] == currOStoc[0] && osToc[1] == currOStoc[1]) { |
| 1431 | ret = TRUE; |
| 1432 | } |
| 1433 | } |
| 1434 | } else if (osToc.size() == 3) { |
| 1435 | if (currOStoc.size() == 3) { |
| 1436 | if ( osToc[0] == currOStoc[0] |
| 1437 | && osToc[1] == currOStoc[1] |
| 1438 | && osToc[2] == currOStoc[2]) { |
| 1439 | ret = TRUE; |
| 1440 | } else if ( osToc[0] == currOStoc[0] |
| 1441 | && osToc[1] == currOStoc[1] |
| 1442 | && osToc[2].equalIC("x") ) { |
| 1443 | ret = TRUE; |
| 1444 | } |
| 1445 | } else if (currOStoc.size() == 2) { |
| 1446 | if ( osToc[0] == currOStoc[0] |
| 1447 | && osToc[1] == currOStoc[1] ) { |
| 1448 | ret = TRUE; |
| 1449 | } else if ( osToc[0] == currOStoc[0] |
| 1450 | && osToc[1] == currOStoc[1] |
| 1451 | && osToc[2].equalIC("x") == 0 ) { |
| 1452 | ret = TRUE; |
| 1453 | } |
| 1454 | } |
| 1455 | } |
| 1456 | return ret; |
| 1457 | } |
| 1458 | |
| 1459 | UINT8 CheckVolumeType(UINT8 VolumeType, const TagStruct* Prop) |
| 1460 | { |
no test coverage detected