MCPcopy Create free account
hub / github.com/OpenSteam001/OpenSteamTool / FindEnvironmentVariable

Function FindEnvironmentVariable

src/OSTPlatform/Windows/Process.cpp:212–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

210}
211
212std::optional<std::string> FindEnvironmentVariable(const std::vector<wchar_t>& environment, std::wstring_view name) {
213 if (name.empty()) return std::nullopt;
214
215 size_t offset = 0;
216 while (offset < environment.size() && environment[offset] != L'\0') {
217 const wchar_t* entry = environment.data() + offset;
218 const size_t entryLength = wcslen(entry);
219 if (entryLength > name.size() &&
220 entry[name.size()] == L'=' &&
221 _wcsnicmp(entry, name.data(), name.size()) == 0) {
222 return Encoding::WideToUtf8(std::wstring_view(entry + name.size() + 1, entryLength - name.size() - 1));
223 }
224 offset += entryLength + 1;
225 }
226
227 return std::nullopt;
228}
229
230} // namespace
231

Callers 1

Calls 4

WideToUtf8Function · 0.85
emptyMethod · 0.80
sizeMethod · 0.80
dataMethod · 0.80

Tested by

no test coverage detected