aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/HID.cpp
diff options
context:
space:
mode:
authorZach Eveland <zeveland@blacklabel-development.com>2011-08-30 17:25:35 -0400
committerZach Eveland <zeveland@blacklabel-development.com>2011-08-30 17:25:35 -0400
commitdf068274f4a383ce6c944168ce41f859f3bc22c9 (patch)
tree91398691bd927d908b8a879910a51ce9108c220d /cores/arduino/HID.cpp
parentaf635024db2b5d46d57eb5f5da959f6b4f4bf42c (diff)
on a CDC or HID write() error, call setWriteError(). better handling of USB_Send errors in CDC.
Diffstat (limited to 'cores/arduino/HID.cpp')
-rw-r--r--cores/arduino/HID.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cores/arduino/HID.cpp b/cores/arduino/HID.cpp
index cea90fc..e3aadb5 100644
--- a/cores/arduino/HID.cpp
+++ b/cores/arduino/HID.cpp
@@ -398,11 +398,15 @@ size_t Keyboard_::write(uint8_t c)
_keyMap->charToKey(c,&keys);
else
{
- if (c >= 128)
+ if (c >= 128) {
+ setWriteError();
return 0;
+ }
c = pgm_read_byte(_asciimap + c);
- if (!c)
+ if (!c) {
+ setWriteError();
return 0;
+ }
if (c & 0x80)
{
keys.modifiers |= KEY_MODIFIER_LEFT_SHIFT;