- fix a crash in ruby when a function return nothing (close bug #16552)
- add a warning when a function return nothing (python, ruby)
This commit is contained in:
parent
93e69f5b3e
commit
5d08d5e27c
@ -91,14 +91,20 @@ weechat_python_exec (t_weechat_plugin *plugin,
|
||||
else
|
||||
rc = PyObject_CallFunction (evFunc, "");
|
||||
|
||||
|
||||
if (rc == Py_None)
|
||||
{
|
||||
python_plugin->print_server (python_plugin, "Python error: function \"%s\" must return a valid value", function);
|
||||
return PLUGIN_RC_OK;
|
||||
}
|
||||
|
||||
if (rc)
|
||||
{
|
||||
ret = (int) PyInt_AsLong(rc);
|
||||
Py_XDECREF(rc);
|
||||
}
|
||||
|
||||
if (PyErr_Occurred ())
|
||||
PyErr_Print ();
|
||||
if (PyErr_Occurred ()) PyErr_Print ();
|
||||
|
||||
if (ret < 0)
|
||||
return PLUGIN_RC_OK;
|
||||
|
@ -153,6 +153,12 @@ weechat_ruby_exec (t_weechat_plugin *plugin,
|
||||
|
||||
return PLUGIN_RC_KO;
|
||||
}
|
||||
|
||||
if (ruby_retcode == Qnil)
|
||||
{
|
||||
ruby_plugin->print_server (ruby_plugin, "Ruby error: function \"%s\" must return a valid value", function);
|
||||
return PLUGIN_RC_OK;
|
||||
}
|
||||
|
||||
return NUM2INT(ruby_retcode);
|
||||
}
|
||||
|
@ -91,14 +91,20 @@ weechat_python_exec (t_weechat_plugin *plugin,
|
||||
else
|
||||
rc = PyObject_CallFunction (evFunc, "");
|
||||
|
||||
|
||||
if (rc == Py_None)
|
||||
{
|
||||
python_plugin->print_server (python_plugin, "Python error: function \"%s\" must return a valid value", function);
|
||||
return PLUGIN_RC_OK;
|
||||
}
|
||||
|
||||
if (rc)
|
||||
{
|
||||
ret = (int) PyInt_AsLong(rc);
|
||||
Py_XDECREF(rc);
|
||||
}
|
||||
|
||||
if (PyErr_Occurred ())
|
||||
PyErr_Print ();
|
||||
if (PyErr_Occurred ()) PyErr_Print ();
|
||||
|
||||
if (ret < 0)
|
||||
return PLUGIN_RC_OK;
|
||||
|
@ -153,6 +153,12 @@ weechat_ruby_exec (t_weechat_plugin *plugin,
|
||||
|
||||
return PLUGIN_RC_KO;
|
||||
}
|
||||
|
||||
if (ruby_retcode == Qnil)
|
||||
{
|
||||
ruby_plugin->print_server (ruby_plugin, "Ruby error: function \"%s\" must return a valid value", function);
|
||||
return PLUGIN_RC_OK;
|
||||
}
|
||||
|
||||
return NUM2INT(ruby_retcode);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user