Fix ruby %alias directive for native c functions
Using the %alias directive on native C functions causes swig to segfault due to
a dereference of klass (which is NULL for native C functions) in the
defineAliases function of the Ruby module. This commit adds support for an alias
of native C functions for both separate module as well as global functions, as
well as three test cases for the %alias directive of the Ruby module.
Fixes:
mod.i
%module ruby_alias
%alias get_my_name "nickname,fullname";
%inline %{
const char *get_my_name(){
return "Chester Tester";
}
%}
$ swig -ruby mod.i
Segmentation fault
Signed-off-by: Joel Anderson <joelanderson333@gmail.com>
This commit is contained in:
parent
6fac581a2b
commit
a1cea4f483
8 changed files with 129 additions and 1 deletions
26
Examples/test-suite/ruby_alias_method.i
Normal file
26
Examples/test-suite/ruby_alias_method.i
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
%module ruby_alias_method
|
||||
%include <std_string.i>
|
||||
|
||||
%alias Synonym::getMyName "nickname,fullname"
|
||||
|
||||
%inline %{
|
||||
|
||||
class Synonym {
|
||||
private:
|
||||
std::string myName;
|
||||
|
||||
public:
|
||||
Synonym(std::string myName);
|
||||
|
||||
std::string getMyName();
|
||||
};
|
||||
|
||||
Synonym::Synonym(std::string myName){
|
||||
this->myName = myName;
|
||||
};
|
||||
|
||||
std::string Synonym::getMyName(){
|
||||
return this->myName;
|
||||
};
|
||||
|
||||
%}
|
||||
Loading…
Add table
Add a link
Reference in a new issue