MCPcopy Create free account
hub / github.com/bloomberg/pystack / parsePyVersionHex

Function parsePyVersionHex

src/pystack/_pystack/process.cpp:91–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89}
90
91bool
92parsePyVersionHex(uint64_t version, ParsedPyVersion& parsed)
93{
94 int major = (version >> 24) & 0xFF;
95 int minor = (version >> 16) & 0xFF;
96 int patch = (version >> 8) & 0xFF;
97 int level = (version >> 4) & 0x0F;
98 int count = (version >> 0) & 0x0F;
99
100 const char* level_str = "(unknown release level)";
101 if (level == 0xA) {
102 level_str = "a";
103 } else if (level == 0xB) {
104 level_str = "b";
105 } else if (level == 0xC) {
106 level_str = "rc";
107 } else if (level == 0xF) {
108 level_str = "";
109 }
110
111 if (major < 2 || major > 3 || level_str == nullptr || (level == 0xF && count != 0)) {
112 return false; // Doesn't look valid.
113 }
114
115 parsed = ParsedPyVersion{major, minor, patch, level_str, count};
116 return true;
117}
118
119} // unnamed namespace
120

Calls

no outgoing calls

Tested by

no test coverage detected