io-console 0.7.2 → 0.8.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea376ca7a23381cc7ad476248aa32fc95ff2fe19be07170f6eb4031b42e897ab
4
- data.tar.gz: 321d946b43b46f279bb28d08c173c48b05e9c9a087d51cbcf1715153c772cda1
3
+ metadata.gz: 1e3275d6ea38b3acd5026d152568527ea25251d09abbf16893113814dd23318b
4
+ data.tar.gz: 609613402c097734e446fe8e98ca544448bba8d6b473ec17825f551dd7332c0c
5
5
  SHA512:
6
- metadata.gz: 88f4b33458250ec0e9039c9187d144fb9c851753c39b7e5191db26e2b8a898ce5ac6d6897330c93ae8eab1c6a4cd800a7af9f36ce83fd20b6caedfc52a12ed50
7
- data.tar.gz: 4235ecf65e5e0b81c196d62a0a95649f708a29e2c300d645e99301dd3b6a470dc30b3cad6e2151b8ebf69c15c797962f62f55d6cdb935179f0656d2e450939af
6
+ metadata.gz: 1f60ce0eb29811ef5b1927245318d6f7b689ba7bd14b14e06dc203c25f5588e3f30eac964f9334c0fd8c0837608bcd0b31e87fb6e2e0a18b1bd6ef082951a502
7
+ data.tar.gz: d4857834e30e5cfa20950d50c67e047417c9a838ac4e7d80d2d3c889391734e7b5790135fe2bc1074056893f9399bfd480779ce439da59901947308d0c50e796
@@ -4,10 +4,10 @@ Redistribution and use in source and binary forms, with or without
4
4
  modification, are permitted provided that the following conditions
5
5
  are met:
6
6
  1. Redistributions of source code must retain the above copyright
7
- notice, this list of conditions and the following disclaimer.
7
+ notice, this list of conditions and the following disclaimer.
8
8
  2. Redistributions in binary form must reproduce the above copyright
9
- notice, this list of conditions and the following disclaimer in the
10
- documentation and/or other materials provided with the distribution.
9
+ notice, this list of conditions and the following disclaimer in the
10
+ documentation and/or other materials provided with the distribution.
11
11
 
12
12
  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
13
13
  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
data/COPYING ADDED
@@ -0,0 +1,56 @@
1
+ Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
2
+ You can redistribute it and/or modify it under either the terms of the
3
+ 2-clause BSDL (see the file BSDL), or the conditions below:
4
+
5
+ 1. You may make and give away verbatim copies of the source form of the
6
+ software without restriction, provided that you duplicate all of the
7
+ original copyright notices and associated disclaimers.
8
+
9
+ 2. You may modify your copy of the software in any way, provided that
10
+ you do at least ONE of the following:
11
+
12
+ a. place your modifications in the Public Domain or otherwise
13
+ make them Freely Available, such as by posting said
14
+ modifications to Usenet or an equivalent medium, or by allowing
15
+ the author to include your modifications in the software.
16
+
17
+ b. use the modified software only within your corporation or
18
+ organization.
19
+
20
+ c. give non-standard binaries non-standard names, with
21
+ instructions on where to get the original software distribution.
22
+
23
+ d. make other distribution arrangements with the author.
24
+
25
+ 3. You may distribute the software in object code or binary form,
26
+ provided that you do at least ONE of the following:
27
+
28
+ a. distribute the binaries and library files of the software,
29
+ together with instructions (in the manual page or equivalent)
30
+ on where to get the original distribution.
31
+
32
+ b. accompany the distribution with the machine-readable source of
33
+ the software.
34
+
35
+ c. give non-standard binaries non-standard names, with
36
+ instructions on where to get the original software distribution.
37
+
38
+ d. make other distribution arrangements with the author.
39
+
40
+ 4. You may modify and include the part of the software into any other
41
+ software (possibly commercial). But some files in the distribution
42
+ are not written by the author, so that they are not under these terms.
43
+
44
+ For the list of those files and their copying conditions, see the
45
+ file LEGAL.
46
+
47
+ 5. The scripts and library files supplied as input to or produced as
48
+ output from the software do not automatically fall under the
49
+ copyright of the software, but belong to whomever generated them,
50
+ and may be sold commercially, and may be aggregated with this
51
+ software.
52
+
53
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
54
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
55
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
56
+ PURPOSE.
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  static const char *const
7
- IO_CONSOLE_VERSION = "0.7.2";
7
+ IO_CONSOLE_VERSION = "0.8.0.beta1";
8
8
 
9
9
  #include "ruby.h"
10
10
  #include "ruby/io.h"
@@ -81,7 +81,7 @@ getattr(int fd, conmode *t)
81
81
 
82
82
  #define CSI "\x1b\x5b"
83
83
 
84
- static ID id_getc, id_console, id_close;
84
+ static ID id_getc, id_close;
85
85
  static ID id_gets, id_flush, id_chomp_bang;
86
86
 
87
87
  #if defined HAVE_RUBY_FIBER_SCHEDULER_H
@@ -1071,6 +1071,9 @@ console_scroll(VALUE io, int line)
1071
1071
  return io;
1072
1072
  }
1073
1073
 
1074
+ #define GPERF_DOWNCASE 1
1075
+ #define GPERF_CASE_STRCMP 1
1076
+ #define gperf_case_strcmp STRCASECMP
1074
1077
  #include "win32_vk.inc"
1075
1078
 
1076
1079
  /*
@@ -1535,10 +1538,8 @@ console_clear_screen(VALUE io)
1535
1538
  static VALUE
1536
1539
  io_open_descriptor_fallback(VALUE klass, int descriptor, int mode, VALUE path, VALUE timeout, void *encoding)
1537
1540
  {
1538
- rb_update_max_fd(descriptor);
1539
-
1540
1541
  VALUE arguments[2] = {
1541
- INT2NUM(descriptor),
1542
+ (rb_update_max_fd(descriptor), INT2NUM(descriptor)),
1542
1543
  INT2FIX(mode),
1543
1544
  };
1544
1545
 
@@ -1563,6 +1564,62 @@ rb_io_closed_p(VALUE io)
1563
1564
  }
1564
1565
  #endif
1565
1566
 
1567
+ #if defined(RB_EXT_RACTOR_SAFE) && defined(HAVE_RB_RACTOR_LOCAL_STORAGE_VALUE_NEWKEY)
1568
+ # define USE_RACTOR_STORAGE 1
1569
+ #else
1570
+ # define USE_RACTOR_STORAGE 0
1571
+ #endif
1572
+
1573
+ #if USE_RACTOR_STORAGE
1574
+ #include "ruby/ractor.h"
1575
+ static rb_ractor_local_key_t key_console_dev;
1576
+
1577
+ static bool
1578
+ console_dev_get(VALUE klass, VALUE *dev)
1579
+ {
1580
+ return rb_ractor_local_storage_value_lookup(key_console_dev, dev);
1581
+ }
1582
+
1583
+ static void
1584
+ console_dev_set(VALUE klass, VALUE value)
1585
+ {
1586
+ rb_ractor_local_storage_value_set(key_console_dev, value);
1587
+ }
1588
+
1589
+ static void
1590
+ console_dev_remove(VALUE klass)
1591
+ {
1592
+ console_dev_set(klass, Qnil);
1593
+ }
1594
+
1595
+ #else
1596
+
1597
+ static ID id_console;
1598
+
1599
+ static int
1600
+ console_dev_get(VALUE klass, VALUE *dev)
1601
+ {
1602
+ if (rb_const_defined(klass, id_console)) {
1603
+ *dev = rb_const_get(klass, id_console);
1604
+ return 1;
1605
+ }
1606
+ return 0;
1607
+ }
1608
+
1609
+ static void
1610
+ console_dev_set(VALUE klass, VALUE value)
1611
+ {
1612
+ rb_const_set(klass, id_console, value);
1613
+ }
1614
+
1615
+ static void
1616
+ console_dev_remove(VALUE klass)
1617
+ {
1618
+ rb_const_remove(klass, id_console);
1619
+ }
1620
+
1621
+ #endif
1622
+
1566
1623
  /*
1567
1624
  * call-seq:
1568
1625
  * IO.console -> #<File:/dev/tty>
@@ -1591,10 +1648,9 @@ console_dev(int argc, VALUE *argv, VALUE klass)
1591
1648
  // Force the class to be File.
1592
1649
  if (klass == rb_cIO) klass = rb_cFile;
1593
1650
 
1594
- if (rb_const_defined(klass, id_console)) {
1595
- con = rb_const_get(klass, id_console);
1651
+ if (console_dev_get(klass, &con)) {
1596
1652
  if (!RB_TYPE_P(con, T_FILE) || RTEST(rb_io_closed_p(con))) {
1597
- rb_const_remove(klass, id_console);
1653
+ console_dev_remove(klass);
1598
1654
  con = 0;
1599
1655
  }
1600
1656
  }
@@ -1603,7 +1659,7 @@ console_dev(int argc, VALUE *argv, VALUE klass)
1603
1659
  if (sym == ID2SYM(id_close) && argc == 1) {
1604
1660
  if (con) {
1605
1661
  rb_io_close(con);
1606
- rb_const_remove(klass, id_console);
1662
+ console_dev_remove(klass);
1607
1663
  con = 0;
1608
1664
  }
1609
1665
  return Qnil;
@@ -1623,7 +1679,6 @@ console_dev(int argc, VALUE *argv, VALUE klass)
1623
1679
  #endif
1624
1680
  #ifdef CONSOLE_DEVICE_FOR_WRITING
1625
1681
  VALUE out;
1626
- rb_io_t *ofptr;
1627
1682
  #endif
1628
1683
  int fd;
1629
1684
  VALUE path = rb_obj_freeze(rb_str_new2(CONSOLE_DEVICE));
@@ -1645,7 +1700,7 @@ console_dev(int argc, VALUE *argv, VALUE klass)
1645
1700
  #ifdef CONSOLE_DEVICE_FOR_WRITING
1646
1701
  rb_io_set_write_io(con, out);
1647
1702
  #endif
1648
- rb_const_set(klass, id_console, con);
1703
+ console_dev_set(klass, con);
1649
1704
  }
1650
1705
 
1651
1706
  if (sym) {
@@ -1762,12 +1817,20 @@ io_getpass(int argc, VALUE *argv, VALUE io)
1762
1817
  void
1763
1818
  Init_console(void)
1764
1819
  {
1820
+ #if USE_RACTOR_STORAGE
1821
+ RB_EXT_RACTOR_SAFE(true);
1822
+ #endif
1823
+
1765
1824
  #undef rb_intern
1825
+ #if USE_RACTOR_STORAGE
1826
+ key_console_dev = rb_ractor_local_storage_value_newkey();
1827
+ #else
1828
+ id_console = rb_intern("console");
1829
+ #endif
1766
1830
  id_getc = rb_intern("getc");
1767
1831
  id_gets = rb_intern("gets");
1768
1832
  id_flush = rb_intern("flush");
1769
1833
  id_chomp_bang = rb_intern("chomp!");
1770
- id_console = rb_intern("console");
1771
1834
  id_close = rb_intern("close");
1772
1835
  #define init_rawmode_opt_id(name) \
1773
1836
  rawmode_opt_ids[kwd_##name] = rb_intern(#name)
@@ -1,13 +1,25 @@
1
1
  # frozen_string_literal: false
2
2
  require 'mkmf'
3
3
 
4
+ # `--target-rbconfig` compatibility for Ruby 3.3 or earlier
5
+ # See https://bugs.ruby-lang.org/issues/20345
6
+ MakeMakefile::RbConfig ||= ::RbConfig
7
+
4
8
  have_func("rb_io_path")
5
9
  have_func("rb_io_descriptor")
6
10
  have_func("rb_io_get_write_io")
7
11
  have_func("rb_io_closed_p")
8
12
  have_func("rb_io_open_descriptor")
13
+ have_func("rb_ractor_local_storage_value_newkey")
9
14
 
10
- ok = true if RUBY_ENGINE == "ruby" || RUBY_ENGINE == "truffleruby"
15
+ is_wasi = /wasi/ =~ MakeMakefile::RbConfig::CONFIG["platform"]
16
+ # `ok` can be `true`, `false`, or `nil`:
17
+ # * `true` : Required headers and functions available, proceed regular build.
18
+ # * `false`: Required headers or functions not available, abort build.
19
+ # * `nil` : Unsupported compilation target, generate dummy Makefile.
20
+ #
21
+ # Skip building io/console on WASI, as it does not support termios.h.
22
+ ok = true if (RUBY_ENGINE == "ruby" && !is_wasi) || RUBY_ENGINE == "truffleruby"
11
23
  hdr = nil
12
24
  case
13
25
  when macro_defined?("_WIN32", "")
@@ -480,7 +480,7 @@
480
480
  # define VK_OEM_CLEAR UNDEFINED_VK
481
481
  #endif
482
482
  /* ANSI-C code produced by gperf version 3.1 */
483
- /* Command-line: gperf --ignore-case -E -C -P -p -j1 -i 1 -g -o -t -K ofs -N console_win32_vk -k'*' win32_vk.list */
483
+ /* Command-line: gperf --ignore-case -L ANSI-C -E -C -P -p -j1 -i 1 -g -o -t -K ofs -N console_win32_vk -k'*' win32_vk.list */
484
484
 
485
485
  #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
486
486
  && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
@@ -509,11 +509,10 @@
509
509
  #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
510
510
  #endif
511
511
 
512
- #define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n)
513
512
  #line 1 "win32_vk.list"
514
513
 
515
514
  struct vktable {short ofs; unsigned short vk;};
516
- static const struct vktable *console_win32_vk(/*const char *, unsigned int*/);
515
+ static const struct vktable *console_win32_vk(const char *, size_t);
517
516
  #line 5 "win32_vk.list"
518
517
  struct vktable;
519
518
  /* maximum key range = 245, duplicates = 0 */
@@ -1007,368 +1006,368 @@ console_win32_vk (register const char *str, register size_t len)
1007
1006
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1008
1007
  {-1}, {-1}, {-1},
1009
1008
  #line 40 "win32_vk.list"
1010
- {gperf_offsetof(stringpool, 12), VK_UP},
1009
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, VK_UP},
1011
1010
  #line 52 "win32_vk.list"
1012
- {gperf_offsetof(stringpool, 13), VK_APPS},
1011
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, VK_APPS},
1013
1012
  #line 159 "win32_vk.list"
1014
- {gperf_offsetof(stringpool, 14), VK_CRSEL},
1013
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, VK_CRSEL},
1015
1014
  #line 34 "win32_vk.list"
1016
- {gperf_offsetof(stringpool, 15), VK_SPACE},
1015
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, VK_SPACE},
1017
1016
  #line 95 "win32_vk.list"
1018
- {gperf_offsetof(stringpool, 16), VK_SCROLL},
1017
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, VK_SCROLL},
1019
1018
  #line 29 "win32_vk.list"
1020
- {gperf_offsetof(stringpool, 17), VK_ESCAPE},
1019
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, VK_ESCAPE},
1021
1020
  #line 9 "win32_vk.list"
1022
- {gperf_offsetof(stringpool, 18), VK_CANCEL},
1021
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, VK_CANCEL},
1023
1022
  #line 32 "win32_vk.list"
1024
- {gperf_offsetof(stringpool, 19), VK_ACCEPT},
1023
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, VK_ACCEPT},
1025
1024
  #line 66 "win32_vk.list"
1026
- {gperf_offsetof(stringpool, 20), VK_SEPARATOR},
1025
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, VK_SEPARATOR},
1027
1026
  #line 43 "win32_vk.list"
1028
- {gperf_offsetof(stringpool, 21), VK_SELECT},
1027
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, VK_SELECT},
1029
1028
  #line 18 "win32_vk.list"
1030
- {gperf_offsetof(stringpool, 22), VK_CONTROL},
1029
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, VK_CONTROL},
1031
1030
  #line 166 "win32_vk.list"
1032
- {gperf_offsetof(stringpool, 23), VK_OEM_CLEAR},
1031
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, VK_OEM_CLEAR},
1033
1032
  #line 145 "win32_vk.list"
1034
- {gperf_offsetof(stringpool, 24), VK_OEM_RESET},
1033
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, VK_OEM_RESET},
1035
1034
  #line 155 "win32_vk.list"
1036
- {gperf_offsetof(stringpool, 25), VK_OEM_AUTO},
1035
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, VK_OEM_AUTO},
1037
1036
  #line 151 "win32_vk.list"
1038
- {gperf_offsetof(stringpool, 26), VK_OEM_CUSEL},
1037
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, VK_OEM_CUSEL},
1039
1038
  {-1},
1040
1039
  #line 22 "win32_vk.list"
1041
- {gperf_offsetof(stringpool, 28), VK_KANA},
1040
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, VK_KANA},
1042
1041
  #line 127 "win32_vk.list"
1043
- {gperf_offsetof(stringpool, 29), VK_OEM_PLUS},
1042
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, VK_OEM_PLUS},
1044
1043
  #line 35 "win32_vk.list"
1045
- {gperf_offsetof(stringpool, 30), VK_PRIOR},
1044
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, VK_PRIOR},
1046
1045
  #line 152 "win32_vk.list"
1047
- {gperf_offsetof(stringpool, 31), VK_OEM_ATTN},
1046
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, VK_OEM_ATTN},
1048
1047
  #line 20 "win32_vk.list"
1049
- {gperf_offsetof(stringpool, 32), VK_PAUSE},
1048
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, VK_PAUSE},
1050
1049
  #line 13 "win32_vk.list"
1051
- {gperf_offsetof(stringpool, 33), VK_BACK},
1050
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, VK_BACK},
1052
1051
  #line 144 "win32_vk.list"
1053
- {gperf_offsetof(stringpool, 34), VK_PACKET},
1052
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, VK_PACKET},
1054
1053
  #line 105 "win32_vk.list"
1055
- {gperf_offsetof(stringpool, 35), VK_RCONTROL},
1054
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, VK_RCONTROL},
1056
1055
  #line 104 "win32_vk.list"
1057
- {gperf_offsetof(stringpool, 36), VK_LCONTROL},
1056
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, VK_LCONTROL},
1058
1057
  #line 37 "win32_vk.list"
1059
- {gperf_offsetof(stringpool, 37), VK_END},
1058
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, VK_END},
1060
1059
  #line 38 "win32_vk.list"
1061
- {gperf_offsetof(stringpool, 38), VK_HOME},
1060
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, VK_HOME},
1062
1061
  #line 44 "win32_vk.list"
1063
- {gperf_offsetof(stringpool, 39), VK_PRINT},
1062
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, VK_PRINT},
1064
1063
  #line 94 "win32_vk.list"
1065
- {gperf_offsetof(stringpool, 40), VK_NUMLOCK},
1064
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, VK_NUMLOCK},
1066
1065
  #line 39 "win32_vk.list"
1067
- {gperf_offsetof(stringpool, 41), VK_LEFT},
1066
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, VK_LEFT},
1068
1067
  #line 25 "win32_vk.list"
1069
- {gperf_offsetof(stringpool, 42), VK_JUNJA},
1068
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, VK_JUNJA},
1070
1069
  #line 19 "win32_vk.list"
1071
- {gperf_offsetof(stringpool, 43), VK_MENU},
1070
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, VK_MENU},
1072
1071
  #line 150 "win32_vk.list"
1073
- {gperf_offsetof(stringpool, 44), VK_OEM_WSCTRL},
1072
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, VK_OEM_WSCTRL},
1074
1073
  #line 156 "win32_vk.list"
1075
- {gperf_offsetof(stringpool, 45), VK_OEM_ENLW},
1074
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, VK_OEM_ENLW},
1076
1075
  #line 36 "win32_vk.list"
1077
- {gperf_offsetof(stringpool, 46), VK_NEXT},
1076
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, VK_NEXT},
1078
1077
  #line 51 "win32_vk.list"
1079
- {gperf_offsetof(stringpool, 47), VK_RWIN},
1078
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, VK_RWIN},
1080
1079
  #line 50 "win32_vk.list"
1081
- {gperf_offsetof(stringpool, 48), VK_LWIN},
1080
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, VK_LWIN},
1082
1081
  #line 21 "win32_vk.list"
1083
- {gperf_offsetof(stringpool, 49), VK_CAPITAL},
1082
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, VK_CAPITAL},
1084
1083
  #line 49 "win32_vk.list"
1085
- {gperf_offsetof(stringpool, 50), VK_HELP},
1084
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, VK_HELP},
1086
1085
  #line 164 "win32_vk.list"
1087
- {gperf_offsetof(stringpool, 51), VK_NONAME},
1086
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, VK_NONAME},
1088
1087
  #line 8 "win32_vk.list"
1089
- {gperf_offsetof(stringpool, 52), VK_RBUTTON},
1088
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str52, VK_RBUTTON},
1090
1089
  #line 7 "win32_vk.list"
1091
- {gperf_offsetof(stringpool, 53), VK_LBUTTON},
1090
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str53, VK_LBUTTON},
1092
1091
  #line 96 "win32_vk.list"
1093
- {gperf_offsetof(stringpool, 54), VK_OEM_NEC_EQUAL},
1092
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, VK_OEM_NEC_EQUAL},
1094
1093
  {-1},
1095
1094
  #line 47 "win32_vk.list"
1096
- {gperf_offsetof(stringpool, 56), VK_INSERT},
1095
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str56, VK_INSERT},
1097
1096
  #line 27 "win32_vk.list"
1098
- {gperf_offsetof(stringpool, 57), VK_HANJA},
1097
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str57, VK_HANJA},
1099
1098
  {-1}, {-1},
1100
1099
  #line 46 "win32_vk.list"
1101
- {gperf_offsetof(stringpool, 60), VK_SNAPSHOT},
1100
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str60, VK_SNAPSHOT},
1102
1101
  #line 158 "win32_vk.list"
1103
- {gperf_offsetof(stringpool, 61), VK_ATTN},
1102
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str61, VK_ATTN},
1104
1103
  #line 14 "win32_vk.list"
1105
- {gperf_offsetof(stringpool, 62), VK_TAB},
1104
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str62, VK_TAB},
1106
1105
  #line 157 "win32_vk.list"
1107
- {gperf_offsetof(stringpool, 63), VK_OEM_BACKTAB},
1106
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str63, VK_OEM_BACKTAB},
1108
1107
  #line 143 "win32_vk.list"
1109
- {gperf_offsetof(stringpool, 64), VK_ICO_CLEAR},
1108
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, VK_ICO_CLEAR},
1110
1109
  #line 30 "win32_vk.list"
1111
- {gperf_offsetof(stringpool, 65), VK_CONVERT},
1110
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, VK_CONVERT},
1112
1111
  #line 16 "win32_vk.list"
1113
- {gperf_offsetof(stringpool, 66), VK_RETURN},
1112
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, VK_RETURN},
1114
1113
  #line 146 "win32_vk.list"
1115
- {gperf_offsetof(stringpool, 67), VK_OEM_JUMP},
1114
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, VK_OEM_JUMP},
1116
1115
  {-1}, {-1}, {-1},
1117
1116
  #line 111 "win32_vk.list"
1118
- {gperf_offsetof(stringpool, 71), VK_BROWSER_STOP},
1117
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, VK_BROWSER_STOP},
1119
1118
  #line 26 "win32_vk.list"
1120
- {gperf_offsetof(stringpool, 72), VK_FINAL},
1119
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, VK_FINAL},
1121
1120
  #line 163 "win32_vk.list"
1122
- {gperf_offsetof(stringpool, 73), VK_ZOOM},
1121
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str73, VK_ZOOM},
1123
1122
  #line 28 "win32_vk.list"
1124
- {gperf_offsetof(stringpool, 74), VK_KANJI},
1123
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, VK_KANJI},
1125
1124
  #line 48 "win32_vk.list"
1126
- {gperf_offsetof(stringpool, 75), VK_DELETE},
1125
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str75, VK_DELETE},
1127
1126
  #line 128 "win32_vk.list"
1128
- {gperf_offsetof(stringpool, 76), VK_OEM_COMMA},
1127
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, VK_OEM_COMMA},
1129
1128
  #line 67 "win32_vk.list"
1130
- {gperf_offsetof(stringpool, 77), VK_SUBTRACT},
1129
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str77, VK_SUBTRACT},
1131
1130
  {-1},
1132
1131
  #line 10 "win32_vk.list"
1133
- {gperf_offsetof(stringpool, 79), VK_MBUTTON},
1132
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, VK_MBUTTON},
1134
1133
  #line 78 "win32_vk.list"
1135
- {gperf_offsetof(stringpool, 80), VK_F9},
1134
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80, VK_F9},
1136
1135
  #line 17 "win32_vk.list"
1137
- {gperf_offsetof(stringpool, 81), VK_SHIFT},
1136
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str81, VK_SHIFT},
1138
1137
  #line 103 "win32_vk.list"
1139
- {gperf_offsetof(stringpool, 82), VK_RSHIFT},
1138
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str82, VK_RSHIFT},
1140
1139
  #line 102 "win32_vk.list"
1141
- {gperf_offsetof(stringpool, 83), VK_LSHIFT},
1140
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str83, VK_LSHIFT},
1142
1141
  #line 65 "win32_vk.list"
1143
- {gperf_offsetof(stringpool, 84), VK_ADD},
1142
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, VK_ADD},
1144
1143
  #line 31 "win32_vk.list"
1145
- {gperf_offsetof(stringpool, 85), VK_NONCONVERT},
1144
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str85, VK_NONCONVERT},
1146
1145
  #line 160 "win32_vk.list"
1147
- {gperf_offsetof(stringpool, 86), VK_EXSEL},
1146
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str86, VK_EXSEL},
1148
1147
  #line 126 "win32_vk.list"
1149
- {gperf_offsetof(stringpool, 87), VK_OEM_1},
1148
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str87, VK_OEM_1},
1150
1149
  #line 138 "win32_vk.list"
1151
- {gperf_offsetof(stringpool, 88), VK_OEM_AX},
1150
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str88, VK_OEM_AX},
1152
1151
  #line 108 "win32_vk.list"
1153
- {gperf_offsetof(stringpool, 89), VK_BROWSER_BACK},
1152
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str89, VK_BROWSER_BACK},
1154
1153
  #line 137 "win32_vk.list"
1155
- {gperf_offsetof(stringpool, 90), VK_OEM_8},
1154
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str90, VK_OEM_8},
1156
1155
  #line 129 "win32_vk.list"
1157
- {gperf_offsetof(stringpool, 91), VK_OEM_MINUS},
1156
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91, VK_OEM_MINUS},
1158
1157
  #line 162 "win32_vk.list"
1159
- {gperf_offsetof(stringpool, 92), VK_PLAY},
1158
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, VK_PLAY},
1160
1159
  #line 131 "win32_vk.list"
1161
- {gperf_offsetof(stringpool, 93), VK_OEM_2},
1160
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str93, VK_OEM_2},
1162
1161
  #line 15 "win32_vk.list"
1163
- {gperf_offsetof(stringpool, 94), VK_CLEAR},
1162
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str94, VK_CLEAR},
1164
1163
  #line 99 "win32_vk.list"
1165
- {gperf_offsetof(stringpool, 95), VK_OEM_FJ_TOUROKU},
1164
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, VK_OEM_FJ_TOUROKU},
1166
1165
  #line 147 "win32_vk.list"
1167
- {gperf_offsetof(stringpool, 96), VK_OEM_PA1},
1166
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, VK_OEM_PA1},
1168
1167
  #line 140 "win32_vk.list"
1169
- {gperf_offsetof(stringpool, 97), VK_ICO_HELP},
1168
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str97, VK_ICO_HELP},
1170
1169
  #line 112 "win32_vk.list"
1171
- {gperf_offsetof(stringpool, 98), VK_BROWSER_SEARCH},
1170
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str98, VK_BROWSER_SEARCH},
1172
1171
  #line 53 "win32_vk.list"
1173
- {gperf_offsetof(stringpool, 99), VK_SLEEP},
1172
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str99, VK_SLEEP},
1174
1173
  {-1},
1175
1174
  #line 70 "win32_vk.list"
1176
- {gperf_offsetof(stringpool, 101), VK_F1},
1175
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str101, VK_F1},
1177
1176
  #line 148 "win32_vk.list"
1178
- {gperf_offsetof(stringpool, 102), VK_OEM_PA2},
1177
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str102, VK_OEM_PA2},
1179
1178
  #line 154 "win32_vk.list"
1180
- {gperf_offsetof(stringpool, 103), VK_OEM_COPY},
1179
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, VK_OEM_COPY},
1181
1180
  #line 77 "win32_vk.list"
1182
- {gperf_offsetof(stringpool, 104), VK_F8},
1181
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, VK_F8},
1183
1182
  #line 88 "win32_vk.list"
1184
- {gperf_offsetof(stringpool, 105), VK_F19},
1183
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, VK_F19},
1185
1184
  #line 41 "win32_vk.list"
1186
- {gperf_offsetof(stringpool, 106), VK_RIGHT},
1185
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, VK_RIGHT},
1187
1186
  #line 71 "win32_vk.list"
1188
- {gperf_offsetof(stringpool, 107), VK_F2},
1187
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str107, VK_F2},
1189
1188
  #line 135 "win32_vk.list"
1190
- {gperf_offsetof(stringpool, 108), VK_OEM_6},
1189
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, VK_OEM_6},
1191
1190
  #line 87 "win32_vk.list"
1192
- {gperf_offsetof(stringpool, 109), VK_F18},
1191
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str109, VK_F18},
1193
1192
  {-1},
1194
1193
  #line 117 "win32_vk.list"
1195
- {gperf_offsetof(stringpool, 111), VK_VOLUME_UP},
1194
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, VK_VOLUME_UP},
1196
1195
  {-1}, {-1},
1197
1196
  #line 120 "win32_vk.list"
1198
- {gperf_offsetof(stringpool, 114), VK_MEDIA_STOP},
1197
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114, VK_MEDIA_STOP},
1199
1198
  #line 130 "win32_vk.list"
1200
- {gperf_offsetof(stringpool, 115), VK_OEM_PERIOD},
1199
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, VK_OEM_PERIOD},
1201
1200
  {-1},
1202
1201
  #line 161 "win32_vk.list"
1203
- {gperf_offsetof(stringpool, 117), VK_EREOF},
1202
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, VK_EREOF},
1204
1203
  {-1}, {-1}, {-1},
1205
1204
  #line 114 "win32_vk.list"
1206
- {gperf_offsetof(stringpool, 121), VK_BROWSER_HOME},
1205
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str121, VK_BROWSER_HOME},
1207
1206
  #line 75 "win32_vk.list"
1208
- {gperf_offsetof(stringpool, 122), VK_F6},
1207
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str122, VK_F6},
1209
1208
  {-1},
1210
1209
  #line 110 "win32_vk.list"
1211
- {gperf_offsetof(stringpool, 124), VK_BROWSER_REFRESH},
1210
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, VK_BROWSER_REFRESH},
1212
1211
  {-1},
1213
1212
  #line 165 "win32_vk.list"
1214
- {gperf_offsetof(stringpool, 126), VK_PA1},
1213
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str126, VK_PA1},
1215
1214
  #line 142 "win32_vk.list"
1216
- {gperf_offsetof(stringpool, 127), VK_PROCESSKEY},
1215
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str127, VK_PROCESSKEY},
1217
1216
  #line 68 "win32_vk.list"
1218
- {gperf_offsetof(stringpool, 128), VK_DECIMAL},
1217
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, VK_DECIMAL},
1219
1218
  #line 132 "win32_vk.list"
1220
- {gperf_offsetof(stringpool, 129), VK_OEM_3},
1219
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, VK_OEM_3},
1221
1220
  #line 107 "win32_vk.list"
1222
- {gperf_offsetof(stringpool, 130), VK_RMENU},
1221
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, VK_RMENU},
1223
1222
  #line 106 "win32_vk.list"
1224
- {gperf_offsetof(stringpool, 131), VK_LMENU},
1223
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, VK_LMENU},
1225
1224
  #line 98 "win32_vk.list"
1226
- {gperf_offsetof(stringpool, 132), VK_OEM_FJ_MASSHOU},
1225
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str132, VK_OEM_FJ_MASSHOU},
1227
1226
  #line 54 "win32_vk.list"
1228
- {gperf_offsetof(stringpool, 133), VK_NUMPAD0},
1227
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str133, VK_NUMPAD0},
1229
1228
  #line 24 "win32_vk.list"
1230
- {gperf_offsetof(stringpool, 134), VK_HANGUL},
1229
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str134, VK_HANGUL},
1231
1230
  #line 63 "win32_vk.list"
1232
- {gperf_offsetof(stringpool, 135), VK_NUMPAD9},
1231
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str135, VK_NUMPAD9},
1233
1232
  #line 23 "win32_vk.list"
1234
- {gperf_offsetof(stringpool, 136), VK_HANGEUL},
1233
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, VK_HANGEUL},
1235
1234
  #line 134 "win32_vk.list"
1236
- {gperf_offsetof(stringpool, 137), VK_OEM_5},
1235
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str137, VK_OEM_5},
1237
1236
  #line 149 "win32_vk.list"
1238
- {gperf_offsetof(stringpool, 138), VK_OEM_PA3},
1237
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, VK_OEM_PA3},
1239
1238
  #line 115 "win32_vk.list"
1240
- {gperf_offsetof(stringpool, 139), VK_VOLUME_MUTE},
1239
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, VK_VOLUME_MUTE},
1241
1240
  #line 133 "win32_vk.list"
1242
- {gperf_offsetof(stringpool, 140), VK_OEM_4},
1241
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, VK_OEM_4},
1243
1242
  #line 122 "win32_vk.list"
1244
- {gperf_offsetof(stringpool, 141), VK_LAUNCH_MAIL},
1243
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str141, VK_LAUNCH_MAIL},
1245
1244
  #line 97 "win32_vk.list"
1246
- {gperf_offsetof(stringpool, 142), VK_OEM_FJ_JISHO},
1245
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, VK_OEM_FJ_JISHO},
1247
1246
  #line 72 "win32_vk.list"
1248
- {gperf_offsetof(stringpool, 143), VK_F3},
1247
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, VK_F3},
1249
1248
  #line 101 "win32_vk.list"
1250
- {gperf_offsetof(stringpool, 144), VK_OEM_FJ_ROYA},
1249
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str144, VK_OEM_FJ_ROYA},
1251
1250
  #line 100 "win32_vk.list"
1252
- {gperf_offsetof(stringpool, 145), VK_OEM_FJ_LOYA},
1251
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, VK_OEM_FJ_LOYA},
1253
1252
  {-1},
1254
1253
  #line 42 "win32_vk.list"
1255
- {gperf_offsetof(stringpool, 147), VK_DOWN},
1254
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, VK_DOWN},
1256
1255
  {-1},
1257
1256
  #line 153 "win32_vk.list"
1258
- {gperf_offsetof(stringpool, 149), VK_OEM_FINISH},
1257
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str149, VK_OEM_FINISH},
1259
1258
  {-1},
1260
1259
  #line 74 "win32_vk.list"
1261
- {gperf_offsetof(stringpool, 151), VK_F5},
1260
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, VK_F5},
1262
1261
  {-1},
1263
1262
  #line 136 "win32_vk.list"
1264
- {gperf_offsetof(stringpool, 153), VK_OEM_7},
1263
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, VK_OEM_7},
1265
1264
  #line 73 "win32_vk.list"
1266
- {gperf_offsetof(stringpool, 154), VK_F4},
1265
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, VK_F4},
1267
1266
  #line 86 "win32_vk.list"
1268
- {gperf_offsetof(stringpool, 155), VK_F17},
1267
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, VK_F17},
1269
1268
  #line 55 "win32_vk.list"
1270
- {gperf_offsetof(stringpool, 156), VK_NUMPAD1},
1269
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, VK_NUMPAD1},
1271
1270
  #line 141 "win32_vk.list"
1272
- {gperf_offsetof(stringpool, 157), VK_ICO_00},
1271
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, VK_ICO_00},
1273
1272
  {-1},
1274
1273
  #line 62 "win32_vk.list"
1275
- {gperf_offsetof(stringpool, 159), VK_NUMPAD8},
1274
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, VK_NUMPAD8},
1276
1275
  {-1}, {-1},
1277
1276
  #line 56 "win32_vk.list"
1278
- {gperf_offsetof(stringpool, 162), VK_NUMPAD2},
1277
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str162, VK_NUMPAD2},
1279
1278
  {-1},
1280
1279
  #line 124 "win32_vk.list"
1281
- {gperf_offsetof(stringpool, 164), VK_LAUNCH_APP1},
1280
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str164, VK_LAUNCH_APP1},
1282
1281
  #line 109 "win32_vk.list"
1283
- {gperf_offsetof(stringpool, 165), VK_BROWSER_FORWARD},
1282
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str165, VK_BROWSER_FORWARD},
1284
1283
  {-1},
1285
1284
  #line 76 "win32_vk.list"
1286
- {gperf_offsetof(stringpool, 167), VK_F7},
1285
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, VK_F7},
1287
1286
  {-1}, {-1},
1288
1287
  #line 125 "win32_vk.list"
1289
- {gperf_offsetof(stringpool, 170), VK_LAUNCH_APP2},
1288
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, VK_LAUNCH_APP2},
1290
1289
  #line 64 "win32_vk.list"
1291
- {gperf_offsetof(stringpool, 171), VK_MULTIPLY},
1290
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, VK_MULTIPLY},
1292
1291
  {-1}, {-1},
1293
1292
  #line 45 "win32_vk.list"
1294
- {gperf_offsetof(stringpool, 174), VK_EXECUTE},
1293
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, VK_EXECUTE},
1295
1294
  {-1},
1296
1295
  #line 113 "win32_vk.list"
1297
- {gperf_offsetof(stringpool, 176), VK_BROWSER_FAVORITES},
1296
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, VK_BROWSER_FAVORITES},
1298
1297
  #line 60 "win32_vk.list"
1299
- {gperf_offsetof(stringpool, 177), VK_NUMPAD6},
1298
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str177, VK_NUMPAD6},
1300
1299
  {-1},
1301
1300
  #line 85 "win32_vk.list"
1302
- {gperf_offsetof(stringpool, 179), VK_F16},
1301
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, VK_F16},
1303
1302
  {-1}, {-1},
1304
1303
  #line 79 "win32_vk.list"
1305
- {gperf_offsetof(stringpool, 182), VK_F10},
1304
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, VK_F10},
1306
1305
  {-1}, {-1},
1307
1306
  #line 116 "win32_vk.list"
1308
- {gperf_offsetof(stringpool, 185), VK_VOLUME_DOWN},
1307
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str185, VK_VOLUME_DOWN},
1309
1308
  {-1}, {-1},
1310
1309
  #line 89 "win32_vk.list"
1311
- {gperf_offsetof(stringpool, 188), VK_F20},
1310
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str188, VK_F20},
1312
1311
  #line 119 "win32_vk.list"
1313
- {gperf_offsetof(stringpool, 189), VK_MEDIA_PREV_TRACK},
1312
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str189, VK_MEDIA_PREV_TRACK},
1314
1313
  {-1},
1315
1314
  #line 33 "win32_vk.list"
1316
- {gperf_offsetof(stringpool, 191), VK_MODECHANGE},
1315
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str191, VK_MODECHANGE},
1317
1316
  {-1}, {-1}, {-1}, {-1}, {-1},
1318
1317
  #line 83 "win32_vk.list"
1319
- {gperf_offsetof(stringpool, 197), VK_F14},
1318
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, VK_F14},
1320
1319
  #line 57 "win32_vk.list"
1321
- {gperf_offsetof(stringpool, 198), VK_NUMPAD3},
1320
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, VK_NUMPAD3},
1322
1321
  #line 11 "win32_vk.list"
1323
- {gperf_offsetof(stringpool, 199), VK_XBUTTON1},
1322
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, VK_XBUTTON1},
1324
1323
  {-1}, {-1}, {-1},
1325
1324
  #line 93 "win32_vk.list"
1326
- {gperf_offsetof(stringpool, 203), VK_F24},
1325
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str203, VK_F24},
1327
1326
  {-1},
1328
1327
  #line 12 "win32_vk.list"
1329
- {gperf_offsetof(stringpool, 205), VK_XBUTTON2},
1328
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, VK_XBUTTON2},
1330
1329
  #line 59 "win32_vk.list"
1331
- {gperf_offsetof(stringpool, 206), VK_NUMPAD5},
1330
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str206, VK_NUMPAD5},
1332
1331
  {-1}, {-1},
1333
1332
  #line 58 "win32_vk.list"
1334
- {gperf_offsetof(stringpool, 209), VK_NUMPAD4},
1333
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, VK_NUMPAD4},
1335
1334
  {-1}, {-1}, {-1}, {-1}, {-1},
1336
1335
  #line 121 "win32_vk.list"
1337
- {gperf_offsetof(stringpool, 215), VK_MEDIA_PLAY_PAUSE},
1336
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str215, VK_MEDIA_PLAY_PAUSE},
1338
1337
  {-1},
1339
1338
  #line 123 "win32_vk.list"
1340
- {gperf_offsetof(stringpool, 217), VK_LAUNCH_MEDIA_SELECT},
1339
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str217, VK_LAUNCH_MEDIA_SELECT},
1341
1340
  #line 80 "win32_vk.list"
1342
- {gperf_offsetof(stringpool, 218), VK_F11},
1341
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str218, VK_F11},
1343
1342
  {-1},
1344
1343
  #line 139 "win32_vk.list"
1345
- {gperf_offsetof(stringpool, 220), VK_OEM_102},
1344
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, VK_OEM_102},
1346
1345
  #line 118 "win32_vk.list"
1347
- {gperf_offsetof(stringpool, 221), VK_MEDIA_NEXT_TRACK},
1346
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str221, VK_MEDIA_NEXT_TRACK},
1348
1347
  #line 61 "win32_vk.list"
1349
- {gperf_offsetof(stringpool, 222), VK_NUMPAD7},
1348
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str222, VK_NUMPAD7},
1350
1349
  {-1},
1351
1350
  #line 90 "win32_vk.list"
1352
- {gperf_offsetof(stringpool, 224), VK_F21},
1351
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str224, VK_F21},
1353
1352
  {-1},
1354
1353
  #line 82 "win32_vk.list"
1355
- {gperf_offsetof(stringpool, 226), VK_F13},
1354
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str226, VK_F13},
1356
1355
  {-1}, {-1},
1357
1356
  #line 81 "win32_vk.list"
1358
- {gperf_offsetof(stringpool, 229), VK_F12},
1357
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229, VK_F12},
1359
1358
  {-1}, {-1},
1360
1359
  #line 92 "win32_vk.list"
1361
- {gperf_offsetof(stringpool, 232), VK_F23},
1360
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str232, VK_F23},
1362
1361
  {-1}, {-1},
1363
1362
  #line 91 "win32_vk.list"
1364
- {gperf_offsetof(stringpool, 235), VK_F22},
1363
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235, VK_F22},
1365
1364
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1366
1365
  #line 84 "win32_vk.list"
1367
- {gperf_offsetof(stringpool, 242), VK_F15},
1366
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, VK_F15},
1368
1367
  {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
1369
1368
  {-1}, {-1}, {-1}, {-1},
1370
1369
  #line 69 "win32_vk.list"
1371
- {gperf_offsetof(stringpool, 256), VK_DIVIDE}
1370
+ {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str256, VK_DIVIDE}
1372
1371
  };
1373
1372
 
1374
1373
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: io-console
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nobu Nakada
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-18 00:00:00.000000000 Z
11
+ date: 2024-11-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: add console capabilities to IO instances.
14
14
  email: nobu@ruby-lang.org
@@ -18,7 +18,8 @@ extensions:
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - ".document"
21
- - LICENSE.txt
21
+ - BSDL
22
+ - COPYING
22
23
  - README.md
23
24
  - ext/io/console/console.c
24
25
  - ext/io/console/extconf.rb
@@ -31,7 +32,7 @@ licenses:
31
32
  metadata:
32
33
  source_code_url: https://github.com/ruby/io-console
33
34
  changelog_uri: https://github.com/ruby/io-console/releases
34
- post_install_message:
35
+ post_install_message:
35
36
  rdoc_options: []
36
37
  require_paths:
37
38
  - lib
@@ -46,8 +47,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
46
47
  - !ruby/object:Gem::Version
47
48
  version: '0'
48
49
  requirements: []
49
- rubygems_version: 3.6.0.dev
50
- signing_key:
50
+ rubygems_version: 3.5.11
51
+ signing_key:
51
52
  specification_version: 4
52
53
  summary: Console interface
53
54
  test_files: []