diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2016-01-01 20:07:12 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2016-01-01 20:07:12 +0100 |
commit | 0c09c41f99f50da12e6a13357683679f1d0bc9c1 (patch) | |
tree | 5eb9efe8a71722c555a3e6280e32b93be215384b | |
parent | 4eabb309b98fd80e91542d3149375e374412b623 (diff) | |
download | koffice-0c09c41f99f50da12e6a13357683679f1d0bc9c1.tar.gz koffice-0c09c41f99f50da12e6a13357683679f1d0bc9c1.zip |
Add wrapper for rb_set_safe_level
This resolves FTBFS with Ruby 2.2
This resolves Bug 2467
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r-- | lib/kross/ruby/Makefile.am | 4 | ||||
-rw-r--r-- | lib/kross/ruby/rubyconfig.h | 2 | ||||
-rw-r--r-- | lib/kross/ruby/rubyinterpreter.cpp | 7 | ||||
-rw-r--r-- | lib/kross/ruby/rubywrapper.c | 24 | ||||
-rw-r--r-- | lib/kross/ruby/rubywrapper.h | 35 |
5 files changed, 66 insertions, 6 deletions
diff --git a/lib/kross/ruby/Makefile.am b/lib/kross/ruby/Makefile.am index f8bc012a..256c662b 100644 --- a/lib/kross/ruby/Makefile.am +++ b/lib/kross/ruby/Makefile.am @@ -12,5 +12,5 @@ krossruby_la_LIBADD = \ ../api/libkrossapi.la \ ../main/libkrossmain.la -noinst_HEADERS = rubyinterpreter.h rubyextension.h rubyscript.h rubyconfig.h -krossruby_la_SOURCES = rubyinterpreter.cpp rubyextension.cpp rubyscript.cpp rubymodule.cpp +noinst_HEADERS = rubyconfig.h rubyinterpreter.h rubyextension.h rubyscript.h rubywrapper.h +krossruby_la_SOURCES = rubyinterpreter.cpp rubyextension.cpp rubyscript.cpp rubymodule.cpp rubywrapper.c diff --git a/lib/kross/ruby/rubyconfig.h b/lib/kross/ruby/rubyconfig.h index 81a74c55..b961a476 100644 --- a/lib/kross/ruby/rubyconfig.h +++ b/lib/kross/ruby/rubyconfig.h @@ -1,5 +1,5 @@ /*************************************************************************** - * pythonconfig.h + * rubyconfig.h * This file is part of the KDE project * copyright (C)2005 by Cyrille Berger (cberger@cberger.net) * diff --git a/lib/kross/ruby/rubyinterpreter.cpp b/lib/kross/ruby/rubyinterpreter.cpp index 7e09106a..18ae6595 100644 --- a/lib/kross/ruby/rubyinterpreter.cpp +++ b/lib/kross/ruby/rubyinterpreter.cpp @@ -31,6 +31,7 @@ #include "rubyextension.h" #include "rubymodule.h" #include "rubyscript.h" +#include "rubywrapper.h" extern "C" { @@ -72,7 +73,7 @@ class RubyInterpreterPrivate { VALUE RubyInterpreterPrivate::s_krossModule = 0; RubyInterpreterPrivate* RubyInterpreter::d = 0; - + RubyInterpreter::RubyInterpreter(Kross::Api::InterpreterInfo* info): Kross::Api::Interpreter(info) { #ifdef KROSS_RUBY_INTERPRETER_DEBUG @@ -84,9 +85,9 @@ RubyInterpreter::RubyInterpreter(Kross::Api::InterpreterInfo* info): Kross::Api: } if(info->hasOption("safelevel") ) { - rb_set_safe_level( info->getOption("safelevel")->value.toInt() ); + kross_rb_set_safe_level( info->getOption("safelevel")->value.toInt() ); } else { - rb_set_safe_level(3); // if the safelevel option is undefined, set it to maximum level + kross_rb_set_safe_level(3); // if the safelevel option is undefined, set it to maximum level } } diff --git a/lib/kross/ruby/rubywrapper.c b/lib/kross/ruby/rubywrapper.c new file mode 100644 index 00000000..84d12540 --- /dev/null +++ b/lib/kross/ruby/rubywrapper.c @@ -0,0 +1,24 @@ +/*************************************************************************** + * rubywrapper.c + * This file is part of the TDE project + * copyright (C)2015 by Slávek Banko (slavek.banko@axis.cz) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * You should have received a copy of the GNU Library General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + ***************************************************************************/ + +#include "ruby.h" + +void kross_rb_set_safe_level(int safelevel) { + rb_set_safe_level(safelevel); +} diff --git a/lib/kross/ruby/rubywrapper.h b/lib/kross/ruby/rubywrapper.h new file mode 100644 index 00000000..a5f6432a --- /dev/null +++ b/lib/kross/ruby/rubywrapper.h @@ -0,0 +1,35 @@ +/*************************************************************************** + * rubywrapper.h + * This file is part of the TDE project + * copyright (C)2015 by Slávek Banko (slavek.banko@axis.cz) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * You should have received a copy of the GNU Library General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + ***************************************************************************/ + +#ifndef KROSS_RUBYWRAPPER_H +#define KROSS_RUBYWRAPPER_H + +#if defined(__cplusplus) +extern "C" { +#endif + + +void kross_rb_set_safe_level(int safelevel); + + +#if defined(__cplusplus) +} +#endif + +#endif // KROSS_RUBYWRAPPER_H |