Thanks for this PR!
I am not much into Python API, but somehow I get your comment in contradiction with the changes in the code, respectively:
``` PyErr_SetString is a void function. It doesn't return NULL. ```
But then the changes replace:
``` Py_INCREF(Py_None); return Py_None; ```
With a `NULL` return:
``` return NULL; ```
Is it that after use of `PyErr_SetString(...);` it is not needed to reference `Py_None`, because it was not returning a `NULL` (or the `Py_None`) object?
Since (I think), Python does not really have `NULL` inside, but the `None` keyword, what is the impact of this change returning `NULL`?
Anything particularly wrong without this patch?
Practically I am trying to figure out what exactly was wrong and this PR fixes, because the code is like this for rather long time.