From 44a9337a46ec1a965803999211c4c2b964b9c2f9 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Fri, 23 Jul 2021 13:43:28 -0700 Subject: [ruby/reline] Fix reline on OpenBSD OpenBSD doesn't support tiparm, only tparm. I'm not sure if the two are compatible, but this at least this allows me to run irb on OpenBSD. https://github.com/ruby/reline/commit/0ce2b34e2b --- lib/reline/terminfo.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/reline/terminfo.rb b/lib/reline/terminfo.rb index 0c531e6501..72592688a8 100644 --- a/lib/reline/terminfo.rb +++ b/lib/reline/terminfo.rb @@ -40,7 +40,12 @@ module Reline::Terminfo #extern 'char *tigetstr(char *capname)' @tigetstr = Fiddle::Function.new(curses_dl['tigetstr'], [Fiddle::TYPE_VOIDP], Fiddle::TYPE_VOIDP) #extern 'char *tiparm(const char *str, ...)' - @tiparm = Fiddle::Function.new(curses_dl['tiparm'], [Fiddle::TYPE_VOIDP, Fiddle::TYPE_VARIADIC], Fiddle::TYPE_VOIDP) + @tiparm = begin + Fiddle::Function.new(curses_dl['tiparm'], [Fiddle::TYPE_VOIDP, Fiddle::TYPE_VARIADIC], Fiddle::TYPE_VOIDP) + rescue + # OpenBSD lacks tiparm + Fiddle::Function.new(curses_dl['tparm'], [Fiddle::TYPE_VOIDP, Fiddle::TYPE_VARIADIC], Fiddle::TYPE_VOIDP) + end # TODO: add int tigetflag(char *capname) and int tigetnum(char *capname) def self.setupterm(term, fildes) -- cgit v1.2.3