diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2013-03-04 15:38:43 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2013-03-04 15:47:56 -0600 |
| commit | f3f89e1d00171ac476fc06e605518747c50ab407 (patch) | |
| tree | 1c1fd0bed94887cd03e70d3f8477d2892a5ff044 /Source/Core/InputCommon/Src/ControllerInterface/DInput | |
| parent | bf58c70e9b5a16c56113fe5114a845f8000d4a9d (diff) | |
| parent | 0041ec618c46ea2bf99fb1fc068e7c4a263cb4c2 (diff) | |
Merge branch 'master' into vertex-loader-cleanup
Conflicts:
Source/Core/Common/Src/CommonFuncs.h
Source/Core/VideoCommon/Src/VertexLoader.cpp
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/DInput')
| -rw-r--r-- | Source/Core/InputCommon/Src/ControllerInterface/DInput/DInput.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInput.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInput.cpp index c23e9df17e..01baf9cf1a 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInput.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInput.cpp @@ -4,7 +4,7 @@ #include "DInput.h" -#include <StringUtil.h> +#include "StringUtil.h" #ifdef CIFACE_USE_DINPUT_JOYSTICK #include "DInputJoystick.h" @@ -41,24 +41,18 @@ BOOL CALLBACK DIEnumDevicesCallback(LPCDIDEVICEINSTANCE lpddi, LPVOID pvRef) std::string GetDeviceName(const LPDIRECTINPUTDEVICE8 device) { - std::string out; - - DIPROPSTRING str; - ZeroMemory(&str, sizeof(str)); + DIPROPSTRING str = {}; str.diph.dwSize = sizeof(str); str.diph.dwHeaderSize = sizeof(str.diph); str.diph.dwHow = DIPH_DEVICE; + std::string result; if (SUCCEEDED(device->GetProperty(DIPROP_PRODUCTNAME, &str.diph))) { - const int size = WideCharToMultiByte(CP_UTF8, 0, str.wsz, -1, NULL, 0, NULL, NULL); - char* const data = new char[size]; - if (size == WideCharToMultiByte(CP_UTF8, 0, str.wsz, -1, data, size, NULL, NULL)) - out.assign(data); - delete[] data; + result = StripSpaces(UTF16ToUTF8(str.wsz)); } - return StripSpaces(out); + return result; } void Init(std::vector<ControllerInterface::Device*>& devices, HWND hwnd) |
