Fix crash when joystick name unavailable on OS X

Fixes #694.
Closes #701.
This commit is contained in:
Aaron Jacobs
2016-02-08 11:21:48 -08:00
committed by Camilla Berglund
parent d6e0a4390c
commit 49d228207f
2 changed files with 11 additions and 4 deletions
+10 -4
View File
@@ -29,6 +29,7 @@
#include <unistd.h>
#include <ctype.h>
#include <string.h>
#include <mach/mach.h>
#include <mach/mach_error.h>
@@ -287,10 +288,15 @@ static void matchCallback(void* context,
CFStringRef name = IOHIDDeviceGetProperty(deviceRef,
CFSTR(kIOHIDProductKey));
CFStringGetCString(name,
joystick->name,
sizeof(joystick->name),
kCFStringEncodingUTF8);
if (name)
{
CFStringGetCString(name,
joystick->name,
sizeof(joystick->name),
kCFStringEncodingUTF8);
}
else
strncpy(joystick->name, "Unknown", sizeof(joystick->name));
joystick->axisElements = CFArrayCreateMutable(NULL, 0, NULL);
joystick->buttonElements = CFArrayCreateMutable(NULL, 0, NULL);