diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-14 18:28:41 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-14 18:28:41 -0800 |
| commit | ff3b3ecb55e95038ddf22b60650795862bc3e7ba (patch) | |
| tree | bbcfd5a73a2b86b0ed84a903ed01c38113e48257 | |
| parent | da26d097165b5d06b77e7dcb13bf1b8a8c9c079e (diff) | |
| download | vcpkg-ff3b3ecb55e95038ddf22b60650795862bc3e7ba.tar.gz vcpkg-ff3b3ecb55e95038ddf22b60650795862bc3e7ba.zip | |
Improve impl of get_environmental_variable()
| -rw-r--r-- | toolsrc/src/vcpkg_System.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/toolsrc/src/vcpkg_System.cpp b/toolsrc/src/vcpkg_System.cpp index 3b056a675..e1a4c9d51 100644 --- a/toolsrc/src/vcpkg_System.cpp +++ b/toolsrc/src/vcpkg_System.cpp @@ -75,7 +75,6 @@ namespace vcpkg::System optional<std::wstring> get_environmental_variable(const wchar_t* varname) noexcept { - std::wstring ret; wchar_t* buffer; _wdupenv_s(&buffer, nullptr, varname); @@ -83,10 +82,8 @@ namespace vcpkg::System { return nullptr; } - - ret = buffer; - free(buffer); - return std::make_unique<std::wstring>(ret); + std::unique_ptr<wchar_t, void(__cdecl *)(void*)> bufptr(buffer, free); + return std::make_unique<std::wstring>(buffer); } void set_environmental_variable(const wchar_t* varname, const wchar_t* varvalue) noexcept |
