On Thu, Feb 23, 2017 at 01:22:18AM +0200, Jetro Jormalainen wrote:
@@ -1308,11 +1308,24 @@ HRESULT WINAPI IDirectInputDevice2WImpl_GetProperty(LPDIRECTINPUTDEVICE8W iface, case (DWORD_PTR) DIPROP_USERNAME: { LPDIPROPSTRING ps = (LPDIPROPSTRING)pdiph;
struct DevicePlayer *device_player; if (pdiph->dwSize != sizeof(DIPROPSTRING)) return DIERR_INVALIDPARAM;
lstrcpynW(ps->wsz, This->username, sizeof(ps->wsz)/sizeof(WCHAR));
break;
LIST_FOR_EACH_ENTRY(device_player, &This->dinput->device_players,
struct DevicePlayer, entry)
{
if (IsEqualGUID(&device_player->guid, &This->guid))
{
if (lstrlenW(device_player->username))
Please use *username instead of strlen in places where we don't actually care about the string length. Same in the other patch.
@@ -1390,10 +1403,32 @@ HRESULT WINAPI IDirectInputDevice2WImpl_SetProperty( case (DWORD_PTR) DIPROP_USERNAME: { LPCDIPROPSTRING ps = (LPCDIPROPSTRING)pdiph;
struct DevicePlayer *device_player;
unsigned char found = 0;
Please use BOOL, TRUE, and FALSE for booleans. Some people use those symbols for their static analyzers. Same in the other patch.
@@ -56,6 +57,12 @@ struct dinput_device { HRESULT (*create_device)(IDirectInputImpl *dinput, REFGUID rguid, REFIID riid, LPVOID *pdev, int unicode); };
+struct DevicePlayer {
- GUID guid;
"guid" is a little vague. This refers to the specific device instance, right? Maybe device_guid or instance_guid?
Andrew