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 01:25:18 +0100
commit28e24e48dcd6203f2c24e28f15aec8167697c9c0 (patch)
tree95a9a435e011e0d6bc55494cb42fd3cb55dae950 /c_src/permdbpy.c
parentd62f8189a2eb7be50353eef85073b8af6a3e8f79 (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);