MCPcopy Create free account
hub / github.com/MemNixFS/MemNixFS / looks_like_kernel_release

Function looks_like_kernel_release

src/os/linux/banner_scan.cpp:20–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18}
19
20bool looks_like_kernel_release(const std::string& release) {
21 if (release.size() < 3) return false;
22 if (!std::isdigit(static_cast<unsigned char>(release[0]))) return false;
23
24 bool saw_dot = false;
25 bool saw_digit_after_dot = false;
26 for (std::size_t i = 0; i < release.size(); ++i) {
27 unsigned char c = static_cast<unsigned char>(release[i]);
28 if (std::isdigit(c)) {
29 if (saw_dot) saw_digit_after_dot = true;
30 continue;
31 }
32 if (release[i] == '.') {
33 saw_dot = true;
34 continue;
35 }
36 if (std::isalpha(c) || release[i] == '-' || release[i] == '_' ||
37 release[i] == '+' || release[i] == '~') {
38 continue;
39 }
40 return false;
41 }
42 return saw_dot && saw_digit_after_dot;
43}
44
45int score_banner(const std::string& banner, const std::string& release,
46 int release_count) {

Callers 1

score_bannerFunction · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected