svn commit: samba r26584 - in branches/SAMBA_4_0: . source/lib/ldb
jelmer at samba.org
jelmer at samba.org
Mon Dec 24 11:02:48 GMT 2007
Author: jelmer
Date: 2007-12-24 11:02:45 +0000 (Mon, 24 Dec 2007)
New Revision: 26584
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26584
Log:
Fix exception handling in ldb constructor.
Modified:
branches/SAMBA_4_0/
branches/SAMBA_4_0/source/lib/ldb/ldb.i
branches/SAMBA_4_0/source/lib/ldb/ldb.py
branches/SAMBA_4_0/source/lib/ldb/ldb_wrap.c
Changeset:
Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb.i
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb.i 2007-12-24 11:02:32 UTC (rev 26583)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb.i 2007-12-24 11:02:45 UTC (rev 26584)
@@ -463,26 +463,8 @@
/* Top-level ldb operations */
typedef struct ldb_context {
%extend {
- ldb(const char *url=NULL, unsigned int flags = 0,
- const char *options[] = NULL)
- {
- ldb *ldb_ctx = ldb_init(NULL);
-
- if (url != NULL) {
- int ret;
+ ldb(void) { return ldb_init(NULL); }
- ret = ldb_connect(ldb_ctx, url, flags, options);
- if (ret != LDB_SUCCESS)
- SWIG_exception(SWIG_ValueError, ldb_errstring(ldb_ctx));
- }
-
- return ldb_ctx;
-
-fail:
- talloc_free(ldb_ctx);
- return NULL;
- }
-
ldb_error connect(const char *url, unsigned int flags = 0,
const char *options[] = NULL);
@@ -576,6 +558,13 @@
#endif
}
+ %pythoncode {
+ def __init__(self, url=None, flags=0, options=None):
+ _ldb.Ldb_swiginit(self,_ldb.new_Ldb())
+ if url is not None:
+ self.connect(url, flags, options)
+ }
+
} ldb;
%typemap(in,noblock=1) struct ldb_dn *;
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb.py
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb.py 2007-12-24 11:02:32 UTC (rev 26583)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb.py 2007-12-24 11:02:45 UTC (rev 26584)
@@ -176,6 +176,11 @@
def __init__(self, *args, **kwargs):
_ldb.Ldb_swiginit(self,_ldb.new_Ldb(*args, **kwargs))
__swig_destroy__ = _ldb.delete_Ldb
+ def __init__(self, url=None, flags=0, options=None):
+ _ldb.Ldb_swiginit(self,_ldb.new_Ldb())
+ if url is not None:
+ self.connect(url, flags, options)
+
Ldb.connect = new_instancemethod(_ldb.Ldb_connect,None,Ldb)
Ldb.search = new_instancemethod(_ldb.Ldb_search,None,Ldb)
Ldb.delete = new_instancemethod(_ldb.Ldb_delete,None,Ldb)
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_wrap.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_wrap.c 2007-12-24 11:02:32 UTC (rev 26583)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_wrap.c 2007-12-24 11:02:45 UTC (rev 26584)
@@ -2971,6 +2971,7 @@
PyObject *PyExc_LdbError;
+SWIGINTERN ldb *new_ldb(){ return ldb_init(NULL); }
SWIGINTERN int
SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
@@ -3031,23 +3032,6 @@
return res;
}
-SWIGINTERN ldb *new_ldb(char const *url,unsigned int flags,char const *options[]){
- ldb *ldb_ctx = ldb_init(NULL);
-
- if (url != NULL) {
- int ret;
-
- ret = ldb_connect(ldb_ctx, url, flags, options);
- if (ret != 0)
- SWIG_exception(SWIG_ValueError, ldb_errstring(ldb_ctx));
- }
-
- return ldb_ctx;
-
-fail:
- talloc_free(ldb_ctx);
- return NULL;
- }
SWIGINTERN void delete_ldb(ldb *self){ talloc_free(self); }
SWIGINTERN ldb_error ldb_add__SWIG_1(ldb *self,PyObject *py_msg){
ldb_error ret;
@@ -4189,54 +4173,15 @@
}
-SWIGINTERN PyObject *_wrap_new_Ldb(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
+SWIGINTERN PyObject *_wrap_new_Ldb(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
- char *arg1 = (char *) NULL ;
- unsigned int arg2 = (unsigned int) 0 ;
- char **arg3 = (char **) (char **)NULL ;
ldb *result = 0 ;
- int res1 ;
- char *buf1 = 0 ;
- int alloc1 = 0 ;
- unsigned int val2 ;
- int ecode2 = 0 ;
- void *argp3 = 0 ;
- int res3 = 0 ;
- PyObject * obj0 = 0 ;
- PyObject * obj1 = 0 ;
- PyObject * obj2 = 0 ;
- char * kwnames[] = {
- (char *) "url",(char *) "flags",(char *) "options", NULL
- };
- if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OOO:new_Ldb",kwnames,&obj0,&obj1,&obj2)) SWIG_fail;
- if (obj0) {
- res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
- if (!SWIG_IsOK(res1)) {
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Ldb" "', argument " "1"" of type '" "char const *""'");
- }
- arg1 = (char *)(buf1);
- }
- if (obj1) {
- ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2);
- if (!SWIG_IsOK(ecode2)) {
- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_Ldb" "', argument " "2"" of type '" "unsigned int""'");
- }
- arg2 = (unsigned int)(val2);
- }
- if (obj2) {
- res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_p_char, 0 | 0 );
- if (!SWIG_IsOK(res3)) {
- SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_Ldb" "', argument " "3"" of type '" "char const *[]""'");
- }
- arg3 = (char **)(argp3);
- }
- result = (ldb *)new_ldb((char const *)arg1,arg2,(char const *(*))arg3);
+ if (!SWIG_Python_UnpackTuple(args,"new_Ldb",0,0,0)) SWIG_fail;
+ result = (ldb *)new_ldb();
resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ldb_context, SWIG_POINTER_NEW | 0 );
- if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
return resultobj;
fail:
- if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
return NULL;
}
@@ -5338,7 +5283,7 @@
{ (char *)"Message_swigregister", Message_swigregister, METH_VARARGS, NULL},
{ (char *)"Message_swiginit", Message_swiginit, METH_VARARGS, NULL},
{ (char *)"ldb_ldif_to_pyobject", (PyCFunction) _wrap_ldb_ldif_to_pyobject, METH_VARARGS | METH_KEYWORDS, NULL},
- { (char *)"new_Ldb", (PyCFunction) _wrap_new_Ldb, METH_VARARGS | METH_KEYWORDS, NULL},
+ { (char *)"new_Ldb", (PyCFunction)_wrap_new_Ldb, METH_NOARGS, NULL},
{ (char *)"Ldb_connect", (PyCFunction) _wrap_Ldb_connect, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"delete_Ldb", (PyCFunction)_wrap_delete_Ldb, METH_O, NULL},
{ (char *)"Ldb_search", (PyCFunction) _wrap_Ldb_search, METH_VARARGS | METH_KEYWORDS, NULL},
More information about the samba-cvs
mailing list