diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-14 15:35:34 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-14 15:35:34 -0800 |
| commit | b882f365e9aebf95c07c8667e38ae2730931f74e (patch) | |
| tree | 16f9b6e78024aa277cfb7470a5ad3f6eae002d9b /toolsrc/src/vcpkg_System.cpp | |
| parent | a5181331653592afcd6223140722ecbcfa58c94d (diff) | |
| download | vcpkg-b882f365e9aebf95c07c8667e38ae2730931f74e.tar.gz vcpkg-b882f365e9aebf95c07c8667e38ae2730931f74e.zip | |
System::get_environmental_variable() now returns optional<>
Diffstat (limited to 'toolsrc/src/vcpkg_System.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg_System.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/toolsrc/src/vcpkg_System.cpp b/toolsrc/src/vcpkg_System.cpp index e7349df69..3b056a675 100644 --- a/toolsrc/src/vcpkg_System.cpp +++ b/toolsrc/src/vcpkg_System.cpp @@ -73,17 +73,20 @@ namespace vcpkg::System std::cout << "\n"; } - std::wstring get_environmental_variable(const wchar_t* varname) noexcept + optional<std::wstring> get_environmental_variable(const wchar_t* varname) noexcept { std::wstring ret; wchar_t* buffer; _wdupenv_s(&buffer, nullptr, varname); - if (buffer != nullptr) + + if (buffer == nullptr) { - ret = buffer; - free(buffer); + return nullptr; } - return ret; + + ret = buffer; + free(buffer); + return std::make_unique<std::wstring>(ret); } void set_environmental_variable(const wchar_t* varname, const wchar_t* varvalue) noexcept |
