Skip to content

Commit 3cb895c

Browse files
pavel_anabijaczleweli
authored andcommitted
os_info_windows.cpp : small optimization - VARIANT val should be initialized, VC++ compiler warning on val_destructor() because of uninitialized inout param. - In WMI query get Capture, not Name. No need to find & resize string.
1 parent 392c212 commit 3cb895c

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

src/system/OS_info/os_info_windows.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static std::string version_name() {
5454

5555
IEnumWbemClassObject* query_iterator_raw;
5656
wchar_t query_lang[] = L"WQL";
57-
wchar_t query[] = L"SELECT Name FROM Win32_OperatingSystem";
57+
wchar_t query[] = L"SELECT Caption FROM Win32_OperatingSystem";
5858
if(FAILED(wbem_services->ExecQuery(query_lang, query, WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, nullptr, &query_iterator_raw)))
5959
return {};
6060
std::unique_ptr<IEnumWbemClassObject, iware::detail::release_deleter> query_iterator(query_iterator_raw);
@@ -70,15 +70,13 @@ static std::string version_name() {
7070
std::unique_ptr<IWbemClassObject, iware::detail::release_deleter> value(value_raw);
7171

7272
VARIANT val;
73-
value->Get(L"Name", 0, &val, 0, 0);
73+
VariantInit(&val);
74+
value->Get(L"Caption", 0, &val, 0, 0);
7475
iware::detail::quickscope_wrapper val_destructor{[&] { VariantClear(&val); }};
7576

7677
ret = iware::detail::narrowen_bstring(val.bstrVal);
7778
}
7879

79-
const auto sep = ret.find('|');
80-
if(sep != std::string::npos)
81-
ret.resize(sep);
8280
return ret;
8381
}
8482

0 commit comments

Comments
 (0)