If getattr() fails, hasattr() will fail as well.

Removed hasattr() check, because hasattr() will call getattr() internally
anyway. If hasattr() fails, it means that getattr() has failed. So, there is no
need to call hasattr() before getattr().
parent d0ff1b94
......@@ -104,14 +104,11 @@ PyObject* py_callback(PyObject *parser, char *target, int option, int nargs,
if (unlikely(!res)) return res;
// Check if the "hook_handler" callback exists
if (unlikely(!PyObject_HasAttr(parser, py_attr_hook_handler_name)))
return res;
handle = PyObject_GetAttr(parser, py_attr_hook_handler_name);
if (unlikely(!handle)) {
Py_DECREF(res);
return NULL;
if (!handle) {
PyErr_Clear();
return res;
}
// Call the "hook_handler" callback
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment