From 68974a1c7205a4b06045217ed01a2f75ea8bccdd Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 13 Sep 2005 01:01:55 +0000 Subject: r10192: r11631@blu: tridge | 2005-08-30 23:06:37 +1000 added a ldb.close() method in js. Useful for re-opening the db (This used to be commit 1f12364a0f23ba39fd3d29b510fdef2423685f0d) --- source4/scripting/ejs/smbcalls_ldb.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'source4/scripting/ejs') diff --git a/source4/scripting/ejs/smbcalls_ldb.c b/source4/scripting/ejs/smbcalls_ldb.c index f536fbe547..8c66bde571 100644 --- a/source4/scripting/ejs/smbcalls_ldb.c +++ b/source4/scripting/ejs/smbcalls_ldb.c @@ -367,6 +367,31 @@ static int ejs_ldbConnect(MprVarHandle eid, int argc, char **argv) } +/* + close a db connection +*/ +static int ejs_ldbClose(MprVarHandle eid, int argc, struct MprVar **argv) +{ + struct ldb_context *ldb; + + if (argc != 0) { + ejsSetErrorMsg(eid, "ldb.close invalid arguments"); + return -1; + } + + ldb = ejs_get_ldb_context(eid); + if (ldb == NULL) { + return -1; + } + + talloc_free(ldb); + + mprSetThisPtr(eid, "db", NULL); + mpr_Return(eid, mprCreateBoolVar(True)); + return 0; +} + + /* initialise ldb ejs subsystem */ @@ -383,6 +408,7 @@ static int ejs_ldb_init(MprVarHandle eid, int argc, struct MprVar **argv) mprSetCFunction(ldb, "errstring", ejs_ldbErrstring); mprSetCFunction(ldb, "encode", ejs_base64encode); mprSetCFunction(ldb, "decode", ejs_base64decode); + mprSetCFunction(ldb, "close", ejs_ldbClose); mprSetVar(ldb, "SCOPE_BASE", mprCreateNumberVar(LDB_SCOPE_BASE)); mprSetVar(ldb, "SCOPE_ONE", mprCreateNumberVar(LDB_SCOPE_ONELEVEL)); mprSetVar(ldb, "SCOPE_SUBTREE", mprCreateNumberVar(LDB_SCOPE_SUBTREE)); -- cgit