mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/reline] Fix reline on Solaris
Solaris requires that the pointer errret_int is alined to an integer,
however, with VWA, strings are no longer aligned to an integer, so use a
Fiddle::Pointer with a malloc'd region instead.
5fcd89ab0c
This commit is contained in:
parent
0ca00e2cb7
commit
09cfc653b7
1 changed files with 2 additions and 2 deletions
|
@ -92,9 +92,9 @@ module Reline::Terminfo
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.setupterm(term, fildes)
|
def self.setupterm(term, fildes)
|
||||||
errret_int = String.new("\x00" * 8, encoding: 'ASCII-8BIT')
|
errret_int = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT)
|
||||||
ret = @setupterm.(term, fildes, errret_int)
|
ret = @setupterm.(term, fildes, errret_int)
|
||||||
errret = errret_int.unpack1('i')
|
errret = errret_int[0, Fiddle::SIZEOF_INT].unpack1('i')
|
||||||
case ret
|
case ret
|
||||||
when 0 # OK
|
when 0 # OK
|
||||||
0
|
0
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue