[tuxdroid-svn] r1213 - software_suite_v2/middleware/tuxdriver/trunk/src
Status: Beta
Brought to you by:
ks156
From: remi <c2m...@c2...> - 2008-06-04 09:10:40
|
Author: remi Date: 2008-06-04 11:10:38 +0200 (Wed, 04 Jun 2008) New Revision: 1213 Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.c software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.h Log: * Updated hid read and write from win32. Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.c =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.c 2008-06-03 07:36:58 UTC (rev 1212) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.c 2008-06-04 09:10:38 UTC (rev 1213) @@ -148,9 +148,14 @@ tux_hid_write(int size, const char *buffer) { int wrt_count; - char report[65] = { [0 ... 64] = 0 }; + char report[REPORT_SIZE_OUT + 1] = { [0 ... REPORT_SIZE_OUT] = 0 }; long result; + if (size > REPORT_SIZE_OUT) + { + return false; + } + if (tux_device_hdl == NULL) { return false; @@ -159,7 +164,7 @@ report[0] = 0; memcpy(&report[1], buffer, size); - result = WriteFile(tux_device_hdl, report, 65, &wrt_count, + result = WriteFile(tux_device_hdl, report, REPORT_SIZE_OUT + 1, &wrt_count, NULL); if (!result) @@ -176,15 +181,20 @@ tux_hid_read(int size, char *buffer) { int rd_count; - char report[size + 1]; + char report[REPORT_SIZE_IN + 1]; long result; + if (size > REPORT_SIZE_IN) + { + return false; + } + if (tux_device_hdl == NULL) { return false; } - result = ReadFile(tux_device_hdl, report, size + 1, &rd_count, + result = ReadFile(tux_device_hdl, report, REPORT_SIZE_IN + 1, &rd_count, NULL); memcpy(buffer, &report[1], size); Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.h =================================================================== --- software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.h 2008-06-03 07:36:58 UTC (rev 1212) +++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_hid_win32.h 2008-06-04 09:10:38 UTC (rev 1213) @@ -24,6 +24,8 @@ #define _TUX_HID_H_ #define HID_RW_TIMEOUT 1000 +#define REPORT_SIZE_IN 64 +#define REPORT_SIZE_OUT 64 extern bool tux_hid_capture(int vendor_id, int product_id); extern void tux_hid_release(void); |