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>
(cherry picked from commit 0c09c41f99)
pull/8/head
Slávek Banko 8 年前
父节点 8099312e2d
当前提交 fac1196282

@ -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

@ -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)
*

@ -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
}
}

@ -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);
}

@ -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
正在加载...
取消
保存