diff options
author | Brad Hughes <bradhugh@outlook.com> | 2017-02-27 11:15:29 -0500 |
---|---|---|
committer | Brad Hughes <bradhugh@outlook.com> | 2017-02-27 11:15:29 -0500 |
commit | 0505d3c985ab521df92958d817e40706c5b2adff (patch) | |
tree | d675aa219bee375abcdb2cc1ebb990e840af6ec3 /src/osd/modules/input | |
parent | 4bf8f47241491880019a0738546f343f7eaf6ad4 (diff) |
Some reports of garbage in console with DInput controllers.
Change to snprintf with assert since apparently snprintf fixes the reported problem.
Diffstat (limited to 'src/osd/modules/input')
-rw-r--r-- | src/osd/modules/input/input_dinput.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/osd/modules/input/input_dinput.h b/src/osd/modules/input/input_dinput.h index 9d38d925a00..fded38f17e5 100644 --- a/src/osd/modules/input/input_dinput.h +++ b/src/osd/modules/input/input_dinput.h @@ -134,16 +134,21 @@ public: HRESULT enum_attached_devices(int devclass, device_enum_interface *enumerate_interface, void *state) const; - std::string guid_to_string(const GUID& guid) const + static std::string guid_to_string(const GUID& guid) { + // Size of a GUID string with dashes plus null terminator char guid_string[37]; - sprintf_s( + + int len = snprintf( guid_string, ARRAY_LENGTH(guid_string), "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]); + + assert(len == 36); + return guid_string; } }; |