diff --git a/lib/kross/ruby/Makefile.am b/lib/kross/ruby/Makefile.am index f8bc012a4..256c662b9 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 81a74c550..b961a4768 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 7e09106ae..18ae65955 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 000000000..84d12540a --- /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 000000000..a5f6432ad --- /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