summaryrefslogtreecommitdiff
path: root/c_src/permdbpy.c
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2017-03-17 01:09:01 +0100
committerLinus Nordberg <linus@nordu.net>2017-06-21 17:29:52 +0200
commit0d7c7bb15f449656e35801dac5ba410f16261c6f (patch)
tree54db24f975d429b88b855d7292d862957a956de0 /c_src/permdbpy.c
parent39d556cff6949ff0d77f92960ea76ceaef63817c (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);