svn commit: samba r17699 - in branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules: .

abartlet at samba.org abartlet at samba.org
Tue Aug 22 06:07:01 GMT 2006


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);
 }
 



More information about the samba-cvs mailing list