summaryrefslogtreecommitdiff
path: root/c_src/permdbpy.c
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2017-03-17 01:09:01 +0100
committerMagnus Ahltorp <map@kth.se>2017-03-17 14:44:42 +0100
commit5eecd85c8e9e9b52527859917cba0b68608b8c33 (patch)
treea64d658f94e0b319917b96efa7234078bc4945ca /c_src/permdbpy.c
parente0c96d10cf319549dabda91a612393c115e3f82a (diff)
Report errors as exceptions when called from python.
Diffstat (limited to 'c_src/permdbpy.c')
-rw-r--r--c_src/permdbpy.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/c_src/permdbpy.c b/c_src/permdbpy.c
index 491f759..da7fc8f 100644
--- a/c_src/permdbpy.c
+++ b/c_src/permdbpy.c
@@ -72,6 +72,7 @@ data_pread(PyObject *self, PyObject *args)
unsigned char *result = read_internal_data(state->permdb, offset, length);
if (result == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, get_permdb_error(state->permdb));
return NULL;
}
@@ -123,6 +124,7 @@ addvalue_wrapper(PyObject *self, PyObject *args)
(unsigned char *) data, datalength, 0);
if (result < 0) {
+ PyErr_SetString(PyExc_RuntimeError, get_permdb_error(state->permdb));
return NULL;
} else if (result == 0) {
Py_INCREF(Py_False);
@@ -188,6 +190,7 @@ committree_wrapper(PyObject *self, PyObject *args)
int result = committree(state->permdb);
if (result < 0) {
+ PyErr_SetString(PyExc_RuntimeError, get_permdb_error(state->permdb));
return NULL;
} else {
Py_INCREF(Py_None);