#include "env.h" #include #ifdef _darwin_ #include #define environ (*_NSGetEnviron()) #endif #ifdef _linux_ #include #endif namespace NYT { //////////////////////////////////////////////////////////////////////////////// #if defined(_linux_) || defined(_darwin_) std::vector GetEnvironNameValuePairs() { std::vector result; for (char** envIt = environ; *envIt; ++envIt) { result.emplace_back(*envIt); } return result; } #endif std::pair> ParseEnvironNameValuePair(TStringBuf pair) { if (auto pos = pair.find('='); pos != std::string::npos) { return {pair.substr(0, pos), pair.substr(pos + 1)}; } else { return {pair, std::nullopt}; } } //////////////////////////////////////////////////////////////////////////////// } // namespace NYT::NThreading