[前][次][番号順一覧][スレッド一覧]

ruby-changes:66991

From: Jeremy <ko1@a...>
Date: Fri, 30 Jul 2021 02:27:04 +0900 (JST)
Subject: [ruby-changes:66991] 44a9337a46 (master): [ruby/reline] Fix reline on OpenBSD

https://git.ruby-lang.org/ruby.git/commit/?id=44a9337a46

From 44a9337a46ec1a965803999211c4c2b964b9c2f9 Mon Sep 17 00:00:00 2001
From: Jeremy Evans <code@j...>
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(-)

diff --git a/lib/reline/terminfo.rb b/lib/reline/terminfo.rb
index 0c531e6..7259268 100644
--- a/lib/reline/terminfo.rb
+++ b/lib/reline/terminfo.rb
@@ -40,7 +40,12 @@ module Reline::Terminfo https://github.com/ruby/ruby/blob/trunk/lib/reline/terminfo.rb#L40
   #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.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]