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>
26 lines
360 B
OpenEdge ABL
26 lines
360 B
OpenEdge ABL
%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;
|
|
};
|
|
|
|
%}
|