svn commit: samba r26112 - in branches/SAMBA_4_0/source/lib/ldb: .
jelmer at samba.org
jelmer at samba.org
Sun Nov 25 14:26:17 GMT 2007
Author: jelmer
Date: 2007-11-25 14:26:16 +0000 (Sun, 25 Nov 2007)
New Revision: 26112
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26112
Log:
Do proper error checking in __contains__.
Modified:
branches/SAMBA_4_0/source/lib/ldb/ldb.i
Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb.i
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb.i 2007-11-25 13:38:07 UTC (rev 26111)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb.i 2007-11-25 14:26:16 UTC (rev 26112)
@@ -29,8 +29,6 @@
%{
-/* Include headers */
-
#include <stdint.h>
#include <stdbool.h>
#include "talloc.h"
@@ -80,10 +78,6 @@
"Message can not be None");
}
-/*
- * Wrap a small bit of talloc
- */
-
/*
* Wrap struct ldb_val
*/
@@ -133,7 +127,6 @@
//talloc_free($1);
}
-
/*
* Wrap struct ldb_result
*/
@@ -413,8 +406,8 @@
%typemap(in,numinputs=1) (void (*debug)(void *context, enum ldb_debug_level level, const char *fmt, va_list ap),
void *context) {
$1 = py_ldb_debug;
- /* FIXME: Should be decreased somewhere as well. Perhaps register a destructor and
- tie it to the ldb context ? */
+ /* FIXME: Should be decreased somewhere as well. Perhaps register a
+ destructor and tie it to the ldb context ? */
Py_INCREF($input);
$2 = $input;
}
@@ -518,16 +511,13 @@
ldb_error transaction_cancel();
#ifdef SWIGPYTHON
- bool __contains__(ldb_dn *dn)
+ %typemap(in,numinputs=0) struct ldb_result **result_as_bool (struct ldb_result *tmp) { $1 = &tmp; }
+ %typemap(argout) struct ldb_result **result_as_bool { $result = ((*$1)->count > 0)?Py_True:Py_False; }
+ %typemap(freearg) struct ldb_result **result_as_bool { talloc_free(*$1); }
+ ldb_error __contains__(ldb_dn *dn, struct ldb_result **result_as_bool)
{
- struct ldb_result *result;
-
- int ret = ldb_search($self, dn, LDB_SCOPE_BASE, NULL, NULL,
- &result);
-
- /* FIXME: Check ret and set exception if necessary */
-
- return result->count > 0;
+ return ldb_search($self, dn, LDB_SCOPE_BASE, NULL, NULL,
+ result_as_bool);
}
PyObject *parse_ldif(const char *s)
More information about the samba-cvs
mailing list