Mercurial > sdl-ios-xcode
diff src/haptic/linux/SDL_syshaptic.c @ 3080:4094b4f1c3a1
More verbosity and error checking.
author | Edgar Simo <bobbens@gmail.com> |
---|---|
date | Sat, 21 Feb 2009 18:03:22 +0000 |
parents | 0906692aa6a4 |
children | 81773a1eac83 |
line wrap: on
line diff
--- a/src/haptic/linux/SDL_syshaptic.c Sat Feb 21 18:02:55 2009 +0000 +++ b/src/haptic/linux/SDL_syshaptic.c Sat Feb 21 18:03:22 2009 +0000 @@ -395,17 +395,28 @@ int fd; int ret; + /* Find the joystick in the haptic list. */ for (i = 0; i < MAX_HAPTICS; i++) { if (SDL_hapticlist[i].fname != NULL) { if (SDL_strcmp(SDL_hapticlist[i].fname, joystick->hwdata->fname) == 0) { haptic->index = i; + break; } } } + if (i >= MAX_HAPTICS) { + SDL_SetError("Haptic: Joystick doesn't have Haptic capabilities"); + return -1; + } fd = open(joystick->hwdata->fname, O_RDWR, 0); + if (fd < 0) { + SDL_SetError("Haptic: Unable to open %s: %s", + joystick->hwdata->fname, strerror(errno)); + return -1; + } ret = SDL_SYS_HapticOpenFromFD(haptic, fd); /* Already closes on error. */ if (ret < 0) { return -1;