summaryrefslogtreecommitdiffstats
path: root/source/scripting/swig
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2005-05-03 07:10:46 +0000
committerTim Potter <tpot@samba.org>2005-05-03 07:10:46 +0000
commit872446a5c77ef18c0fb7510577345c7a31490d00 (patch)
tree56ebef9b37c8fda566bb5f878a0311f9a2d9664b /source/scripting/swig
parent9c3b0cd89a7f2a801bafcb54ddbb4155766feccf (diff)
downloadsamba-872446a5c77ef18c0fb7510577345c7a31490d00.tar.gz
samba-872446a5c77ef18c0fb7510577345c7a31490d00.tar.xz
samba-872446a5c77ef18c0fb7510577345c7a31490d00.zip
r6592: Throw an IOError exception if tdb_open() or tdb_open_Ex() returns NULL.
Diffstat (limited to 'source/scripting/swig')
-rw-r--r--source/scripting/swig/tdb.i12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/scripting/swig/tdb.i b/source/scripting/swig/tdb.i
index b381487ebc4..6c6c4af8cdc 100644
--- a/source/scripting/swig/tdb.i
+++ b/source/scripting/swig/tdb.i
@@ -103,6 +103,16 @@ typedef int mode_t;
#define TDB_CONVERT 16 /* convert endian (internal use) */
#define TDB_BIGENDIAN 32 /* header is big-endian (internal use) */
+/* Throw an IOError exception if tdb_open() or tdb_open_ex() returns NULL */
+
+%exception {
+ $action
+ if (result == NULL) {
+ PyErr_SetFromErrno(PyExc_IOError);
+ SWIG_fail;
+ }
+}
+
%rename tdb_open open;
TDB_CONTEXT *tdb_open(const char *name, int hash_size, int tdb_flags,
int open_flags, mode_t mode);
@@ -113,6 +123,8 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
tdb_log_func log_fn,
tdb_hash_func hash_fn);
+%exception;
+
%rename tdb_reopen reopen;
int tdb_reopen(TDB_CONTEXT *tdb);