Author: abartlet
Date: 2006-08-22 06:07:01 +0000 (Tue, 22 Aug 2006)
New Revision: 17699

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

Log:
Remove more printf calls.

Try to cope with partital initialisation.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c


Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c        
2006-08-22 06:01:47 UTC (rev 17698)
+++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/entryUUID.c        
2006-08-22 06:07:01 UTC (rev 17699)
@@ -116,7 +116,7 @@
        entryUUID_private = talloc_get_type(map_private->caller_private, struct 
entryUUID_private);
        list = entryUUID_private->objectclass_res;
 
-       for (i=0; i < list->count; i++) {
+       for (i=0; list && i < list->count; i++) {
                if (ldb_attr_cmp(val->data, 
ldb_msg_find_attr_as_string(list->msgs[i], "lDAPDisplayName", NULL)) == 0) {
                        char *dn = ldb_dn_linearize(ctx, list->msgs[i]->dn);
                        return data_blob_string_const(dn);
@@ -137,7 +137,7 @@
        entryUUID_private = talloc_get_type(map_private->caller_private, struct 
entryUUID_private);
        list = entryUUID_private->objectclass_res;
 
-       for (i=0; i < list->count; i++) {
+       for (i=0; list && i < list->count; i++) {
                if (ldb_attr_cmp(val->data, 
ldb_msg_find_attr_as_string(list->msgs[i], "lDAPDisplayName", NULL)) == 0) {
                        const char *oid = 
ldb_msg_find_attr_as_string(list->msgs[i], "governsID", NULL);
                        return data_blob_string_const(oid);
@@ -158,7 +158,7 @@
        entryUUID_private = talloc_get_type(map_private->caller_private, struct 
entryUUID_private);
        list = entryUUID_private->objectclass_res;
 
-       for (i=0; i < list->count; i++) {
+       for (i=0; list && i < list->count; i++) {
                if (ldb_attr_cmp(val->data, 
ldb_msg_find_attr_as_string(list->msgs[i], "governsID", NULL)) == 0) {
                        const char *oc = 
ldb_msg_find_attr_as_string(list->msgs[i], "lDAPDisplayName", NULL);
                        return data_blob_string_const(oc);
@@ -309,8 +309,7 @@
                         "objectClass=classSchema", 
                         attrs, objectclass_res);
        if (ret != LDB_SUCCESS) {
-               printf("Search failed: %s\n", ldb_errstring(ldb));
-               return LDB_ERR_OPERATIONS_ERROR;
+               return ret;
        }
        
        return ret;
@@ -330,22 +329,21 @@
 
        map_private = talloc_get_type(module->private_data, struct map_private);
 
-       entryUUID_private = talloc(map_private, struct entryUUID_private);
+       entryUUID_private = talloc_zero(map_private, struct entryUUID_private);
        map_private->caller_private = entryUUID_private;
 
        schema_dn = find_schema_dn(module->ldb, map_private);
        if (!schema_dn) {
-               printf("Failed to find schema DN: %s\n", 
ldb_errstring(module->ldb));
-               return LDB_ERR_OPERATIONS_ERROR;
+               /* Perhaps no schema yet */
+               return LDB_SUCCESS;
        }
        
        ret = fetch_objectclass_schema(module->ldb, schema_dn, 
entryUUID_private, &entryUUID_private->objectclass_res);
        if (ret != LDB_SUCCESS) {
-               printf("Failed to fetch objectClass schema elements: %s\n", 
ldb_errstring(module->ldb));
+               ldb_asprintf_errstring(module->ldb, "Failed to fetch 
objectClass schema elements: %s\n", ldb_errstring(module->ldb));
                return ret;
-       }
+       }       
        
-       
        return ldb_next_init(module);
 }
 

Reply via email to