Author: tpot
Date: 2006-04-16 03:46:05 +0000 (Sun, 16 Apr 2006)
New Revision: 15095

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15095

Log:
Fix up typemap for struct ldb_val so that ldb_msg_add_value() wrapper 
works properly.

Modified:
   branches/SAMBA_4_0/source/lib/ldb/swig/ldb.i


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/swig/ldb.i
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/swig/ldb.i        2006-04-15 21:24:32 UTC 
(rev 15094)
+++ branches/SAMBA_4_0/source/lib/ldb/swig/ldb.i        2006-04-16 03:46:05 UTC 
(rev 15095)
@@ -45,6 +45,15 @@
 %include "carrays.i"
 %include "exception.i"
 
+/*
+ * Constants
+ */
+
+enum ldb_scope {LDB_SCOPE_DEFAULT=-1, 
+               LDB_SCOPE_BASE=0, 
+               LDB_SCOPE_ONELEVEL=1,
+               LDB_SCOPE_SUBTREE=2};
+
 /* 
  * Wrap struct ldb_context
  */
@@ -72,7 +81,7 @@
  * Wrap struct ldb_val
  */
 
-%typemap(in) struct ldb_val * (struct ldb_val temp) {
+%typemap(in) struct ldb_val *INPUT (struct ldb_val temp) {
        $1 = &temp;
        if (!PyString_Check($input)) {
                PyErr_SetString(PyExc_TypeError, "string arg expected");
@@ -82,20 +91,10 @@
        $1->data = PyString_AsString($input);
 }
 
-%typemap(out) struct ldb_val * {
-       if ($1->data == NULL && $1->length == 0) {
-               Py_INCREF(Py_None);
-               $result = Py_None;
-       } else {
-               $result = PyString_FromStringAndSize($1->data, $1->length);
-       }
+%typemap(out) struct ldb_val {
+       $result = PyString_FromStringAndSize($1.data, $1.length);
 }
 
-enum ldb_scope {LDB_SCOPE_DEFAULT=-1, 
-               LDB_SCOPE_BASE=0, 
-               LDB_SCOPE_ONELEVEL=1,
-               LDB_SCOPE_SUBTREE=2};
-
 /*
  * Wrap struct ldb_result
  */
@@ -169,4 +168,4 @@
 
 struct ldb_message *ldb_msg_new(void *mem_ctx);
 struct ldb_message_element *ldb_msg_find_element(const struct ldb_message 
*msg, const char *attr_name);
-int ldb_msg_add_value(struct ldb_message *msg, const char *attr_name, const 
struct ldb_val *val);
+int ldb_msg_add_value(struct ldb_message *msg, const char *attr_name, const 
struct ldb_val *INPUT);

Reply via email to