| 38 | const char *VKCONFIG_SHORT_NAME = "vkconfig"; |
| 39 | |
| 40 | static Version GetVersionData(const char *version) { |
| 41 | uint32_t version_major = 0; |
| 42 | uint32_t version_minor = 0; |
| 43 | uint32_t version_patch = 0; |
| 44 | uint32_t version_revision = 0; |
| 45 | |
| 46 | std::size_t count = CountChar(version, '.'); |
| 47 | |
| 48 | switch (count) { |
| 49 | default: |
| 50 | assert(0); |
| 51 | return Version::NONE; |
| 52 | case 0: |
| 53 | std::sscanf(version, "%d", &version_major); |
| 54 | return Version(version_major, version_minor); |
| 55 | case 1: |
| 56 | std::sscanf(version, "%d.%d", &version_major, &version_minor); |
| 57 | return Version(version_major, version_minor); |
| 58 | case 2: |
| 59 | std::sscanf(version, "%d.%d.%d", &version_major, &version_minor, &version_patch); |
| 60 | return Version(version_major, version_minor, version_patch); |
| 61 | case 3: |
| 62 | std::sscanf(version, "%d.%d.%d.%d", &version_major, &version_minor, &version_patch, &version_revision); |
| 63 | return Version(version_major, version_minor, version_patch, version_revision); |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | Version::Version(uint32_t version_complete) |
| 68 | : _major(VK_VERSION_MAJOR(version_complete)), |