[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. https://github.com/ruby/reline/commit/5fcd89ab0c
This commit is contained in:
parent
0ca00e2cb7
commit
09cfc653b7
@ -92,9 +92,9 @@ module Reline::Terminfo
|
||||
end
|
||||
|
||||
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)
|
||||
errret = errret_int.unpack1('i')
|
||||
errret = errret_int[0, Fiddle::SIZEOF_INT].unpack1('i')
|
||||
case ret
|
||||
when 0 # OK
|
||||
0
|
||||
|
Loading…
x
Reference in New Issue
Block a user