aboutsummaryrefslogtreecommitdiffstats
path: root/ext/io/console/console.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-21 10:52:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-21 10:52:19 +0000
commit55c6a8ac790b530bd425dfcea4db19aad9ed669c (patch)
tree8eefbb986fc28343a37054f7480d1dce9cb06335 /ext/io/console/console.c
parent2f2c889cde2af3d30d3bad1523f889787ea44ec3 (diff)
downloadruby-55c6a8ac790b530bd425dfcea4db19aad9ed669c.tar.gz
console.c: undefined vk
* ext/io/console/console.c (console_key_pressed_p): raise undefined virtual key code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/io/console/console.c')
-rw-r--r--ext/io/console/console.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/io/console/console.c b/ext/io/console/console.c
index 4c49abaa41..3548f2a336 100644
--- a/ext/io/console/console.c
+++ b/ext/io/console/console.c
@@ -698,6 +698,7 @@ console_cursor_set(VALUE io, VALUE cpos)
return console_goto(io, RARRAY_AREF(cpos, 0), RARRAY_AREF(cpos, 1));
}
+#include "win32_vk.h"
#include "win32_vk.inc"
static VALUE
@@ -717,8 +718,9 @@ console_key_pressed_p(VALUE io, VALUE k)
StringValueCStr(k);
}
t = console_win32_vk(RSTRING_PTR(k), RSTRING_LEN(k));
- if (!t) rb_raise(rb_eArgError, "unknown virtual key code: %"PRIsVALUE, k);
- vk = t->vk;
+ if (!t || (vk = (short)t->vk) == -1) {
+ rb_raise(rb_eArgError, "unknown virtual key code: %"PRIsVALUE, k);
+ }
}
return GetKeyState(vk) & 0x80 ? Qtrue : Qfalse;
}