summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/input
diff options
context:
space:
mode:
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
commit0505d3c985ab521df92958d817e40706c5b2adff (patch)
treed675aa219bee375abcdb2cc1ebb990e840af6ec3 /src/osd/modules/input
parent4bf8f47241491880019a0738546f343f7eaf6ad4 (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.h9
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;
}
};