summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2016-01-01 20:07:12 +0100
committerSlávek Banko <slavek.banko@axis.cz>2016-01-01 20:07:12 +0100
commit0c09c41f99f50da12e6a13357683679f1d0bc9c1 (patch)
tree5eb9efe8a71722c555a3e6280e32b93be215384b
parent4eabb309b98fd80e91542d3149375e374412b623 (diff)
downloadkoffice-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.am4
-rw-r--r--lib/kross/ruby/rubyconfig.h2
-rw-r--r--lib/kross/ruby/rubyinterpreter.cpp7
-rw-r--r--lib/kross/ruby/rubywrapper.c24
-rw-r--r--lib/kross/ruby/rubywrapper.h35
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