aboutsummaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorSutou Kouhei <kou@clear-code.com>2023-05-24 16:50:50 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2023-06-28 16:36:50 +0900
commit731d27729b62ca6ceb1f1dc74985cdb9a0478b50 (patch)
tree8fb8bd710a5d5b49627c78c9f077f276727c1575 /ext
parentebf14d01ba6c586e0ea6dd79ad19c5efa841d4c6 (diff)
downloadruby-731d27729b62ca6ceb1f1dc74985cdb9a0478b50.tar.gz
[ruby/fiddle] Add support for more "short" variants
https://github.com/ruby/fiddle/commit/2b22bb9d74
Diffstat (limited to 'ext')
-rw-r--r--ext/fiddle/lib/fiddle/cparser.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/ext/fiddle/lib/fiddle/cparser.rb b/ext/fiddle/lib/fiddle/cparser.rb
index 257a52d096..bde50a3f6b 100644
--- a/ext/fiddle/lib/fiddle/cparser.rb
+++ b/ext/fiddle/lib/fiddle/cparser.rb
@@ -175,14 +175,20 @@ module Fiddle
/\A(?:signed\s+)?int\s+long(?:\s+\w+)?\z/,
/\Along(?:\s+int)?\s+signed(?:\s+\w+)?\z/
return TYPE_LONG
+ when /\Aunsigned\s+short(?:\s+int\s+)?(?:\s+\w+)?\z/,
+ /\Aunsigned\s+int\s+short(?:\s+\w+)?\z/,
+ /\Ashort(?:\s+int)?\s+unsigned(?:\s+\w+)?\z/,
+ /\Aint\s+unsigned\s+short(?:\s+\w+)?\z/,
+ /\A(?:int\s+)?short\s+unsigned(?:\s+\w+)?\z/
+ return TYPE_USHORT
+ when /\A(?:signed\s+)?short(?:\s+int\s+)?(?:\s+\w+)?\z/,
+ /\A(?:signed\s+)?int\s+short(?:\s+\w+)?\z/,
+ /\Aint\s+(?:signed\s+)?short(?:\s+\w+)?\z/
+ return TYPE_SHORT
when /\A(?:signed\s+)?int(?:\s+\w+)?\z/
return TYPE_INT
when /\A(?:unsigned\s+int|uint)(?:\s+\w+)?\z/
return TYPE_UINT
- when /\A(?:signed\s+)?short(?:\s+int\s+)?(?:\s+\w+)?\z/
- return TYPE_SHORT
- when /\Aunsigned\s+short(?:\s+int\s+)?(?:\s+\w+)?\z/
- return TYPE_USHORT
when /\A(?:signed\s+)?char(?:\s+\w+)?\z/
return TYPE_CHAR
when /\Aunsigned\s+char(?:\s+\w+)?\z/