| 503 | } |
| 504 | |
| 505 | XnBool xnReadVersionFromString(const XnChar* strVersion, XnVersion* pVersion) |
| 506 | { |
| 507 | XnChar csVersion[XN_MAX_NAME_LENGTH]; |
| 508 | strcpy(csVersion, strVersion); |
| 509 | |
| 510 | XnChar* strMajor = csVersion; |
| 511 | XnChar* strMinor; |
| 512 | XnChar* strMaintenance; |
| 513 | XnChar* strBuild; |
| 514 | |
| 515 | if (xnVersionGetNext(strMajor, &strMinor) && |
| 516 | xnVersionGetNext(strMinor, &strMaintenance) && |
| 517 | xnVersionGetNext(strMaintenance, &strBuild)) |
| 518 | { |
| 519 | if (0 == sscanf(strMajor, "%hhu", &pVersion->nMajor) || |
| 520 | 0 == sscanf(strMinor, "%hhu", &pVersion->nMinor) || |
| 521 | 0 == sscanf(strMaintenance, "%hu", &pVersion->nMaintenance) || |
| 522 | 0 == sscanf(strBuild, "%u", &pVersion->nBuild)) |
| 523 | { |
| 524 | return FALSE; |
| 525 | } |
| 526 | } |
| 527 | else |
| 528 | { |
| 529 | return FALSE; |
| 530 | } |
| 531 | |
| 532 | return TRUE; |
| 533 | } |
| 534 | |
| 535 | XnStatus xnReadVersionFromXml(const TiXmlElement* pElem, XnVersion* pVersion) |
| 536 | { |
no test coverage detected