# HG changeset patch # User Edgar Simo # Date 1215119005 0 # Node ID 8f840a6cdf015940b58de2a1162e69abe8292584 # Parent 66c02abeef0eeaa8d17a28dfa843cd27e31998dd Using errno for more verbosity in errors. diff -r 66c02abeef0e -r 8f840a6cdf01 src/haptic/linux/SDL_syshaptic.c --- a/src/haptic/linux/SDL_syshaptic.c Thu Jul 03 09:58:27 2008 +0000 +++ b/src/haptic/linux/SDL_syshaptic.c Thu Jul 03 21:03:25 2008 +0000 @@ -37,6 +37,7 @@ #include #include #include +#include #define MAX_HAPTICS 32 @@ -88,7 +89,7 @@ ret = 0; if (ioctl(fd, EVIOCGBIT(EV_FF, sizeof(unsigned long) * 4), features) < 0) { - SDL_SetError("Unable to get device's haptic abilities."); + SDL_SetError("Unable to get device's haptic abilities: %s", strerror(errno)); return -1; } @@ -212,7 +213,7 @@ /* Set the effects */ if (ioctl(fd, EVIOCGEFFECTS, &haptic->neffects) < 0) { - SDL_SetError("Unable to query haptic device memory."); + SDL_SetError("Unable to query haptic device memory: %s", strerror(errno)); goto open_err; } haptic->effects = (struct haptic_effect *) @@ -249,7 +250,8 @@ /* Open the character device */ fd = open(SDL_hapticlist[haptic->index].fname, O_RDWR, 0); if (fd < 0) { - SDL_SetError("Unable to open %s\n", SDL_hapticlist[haptic->index]); + SDL_SetError("Unable to open %s: %s", + SDL_hapticlist[haptic->index], strerror(errno)); return -1; } @@ -477,7 +479,7 @@ default: - SDL_SetError("Unknown haptic effect type."); + SDL_SetError("Unknown haptic effect type"); return -1; } @@ -511,7 +513,7 @@ /* Upload the effect */ if (ioctl(haptic->hwdata->fd, EVIOCSFF, linux_effect) < 0) { - SDL_SetError("Error uploading effect to the haptic device."); + SDL_SetError("Error uploading effect to the haptic device: %s", strerror(errno)); goto new_effect_err; } @@ -543,7 +545,7 @@ /* See if it can be uploaded. */ if (ioctl(haptic->hwdata->fd, EVIOCSFF, &linux_effect) < 0) { - SDL_SetError("Error updating the haptic effect."); + SDL_SetError("Error updating the haptic effect: %s", strerror(errno)); return -1; } @@ -568,7 +570,7 @@ run.value = 1; if (write(haptic->hwdata->fd, (const void*) &run, sizeof(run)) < 0) { - SDL_SetError("Unable to run the haptic effect."); + SDL_SetError("Unable to run the haptic effect: %s", strerror(errno)); return -1; } @@ -589,7 +591,7 @@ stop.value = 0; if (write(haptic->hwdata->fd, (const void*) &stop, sizeof(stop)) < 0) { - SDL_SetError("Unable to stop the haptic effect."); + SDL_SetError("Unable to stop the haptic effect: %s", strerror(errno)); return -1; } @@ -604,7 +606,8 @@ SDL_SYS_HapticDestroyEffect(SDL_Haptic * haptic, struct haptic_effect * effect) { if (ioctl(haptic->hwdata->fd, EVIOCRMFF, effect->hweffect->effect.id) < 0) { - SDL_SetError("Error removing the effect from the haptic device."); + SDL_SetError("Error removing the effect from the haptic device: %s", + strerror(errno)); } SDL_free(effect->hweffect); effect->hweffect = NULL; @@ -649,7 +652,7 @@ ie.value = (0xFFFFUL * gain) / 100; if (write(haptic->hwdata->fd, &ie, sizeof(ie)) < 0) { - SDL_SetError("Error setting gain."); + SDL_SetError("Error setting gain: %s", strerror(errno)); return -1; } @@ -670,7 +673,7 @@ ie.value = (0xFFFFUL * autocenter) / 100; if (write(haptic->hwdata->fd, &ie, sizeof(ie)) < 0) { - SDL_SetError("Error setting autocenter."); + SDL_SetError("Error setting autocenter: %s", strerror(errno)); return -1; }