svn commit: samba r24264 - in branches/4.0-regwrite/source: . lib/registry lib/registry/tests

jelmer at samba.org jelmer at samba.org
Tue Aug 7 11:08:50 GMT 2007


Author: jelmer
Date: 2007-08-07 11:08:49 +0000 (Tue, 07 Aug 2007)
New Revision: 24264

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

Log:
Fix QueryInfoKey calls.
Modified:
   branches/4.0-regwrite/source/lib/registry/local.c
   branches/4.0-regwrite/source/lib/registry/tests/registry.c
   branches/4.0-regwrite/source/samba4-skip


Changeset:
Modified: branches/4.0-regwrite/source/lib/registry/local.c
===================================================================
--- branches/4.0-regwrite/source/lib/registry/local.c	2007-08-07 09:01:08 UTC (rev 24263)
+++ branches/4.0-regwrite/source/lib/registry/local.c	2007-08-07 11:08:49 UTC (rev 24264)
@@ -236,6 +236,20 @@
 	return hive_key_flush(local->hive_key);
 }
 
+static WERROR local_get_key_info (TALLOC_CTX *mem_ctx,
+						const struct registry_key *key,
+						const char **classname,
+						uint32_t *num_subkeys,
+						uint32_t *num_values,
+						NTTIME *last_change_time)
+{
+	const struct local_key *local = (const struct local_key *)key;
+
+	return hive_key_get_info(mem_ctx, local->hive_key, 
+							 classname, num_subkeys, num_values, 
+							 last_change_time);
+}
+
 const static struct registry_operations local_ops = {
 	.name = "local",
 	.open_key = local_open_key,
@@ -248,6 +262,7 @@
 	.delete_key = local_delete_key,
 	.delete_value = local_delete_value,
 	.flush_key = local_flush_key,
+	.get_key_info = local_get_key_info,
 };
 
 WERROR reg_open_local(TALLOC_CTX *mem_ctx, struct registry_context **ctx, 

Modified: branches/4.0-regwrite/source/lib/registry/tests/registry.c
===================================================================
--- branches/4.0-regwrite/source/lib/registry/tests/registry.c	2007-08-07 09:01:08 UTC (rev 24263)
+++ branches/4.0-regwrite/source/lib/registry/tests/registry.c	2007-08-07 11:08:49 UTC (rev 24264)
@@ -132,6 +132,32 @@
 	return true;
 }
 
+static bool test_query_key(struct torture_context *tctx, const void *_data)
+{
+	const struct registry_context *rctx = _data;
+	struct registry_key *root, *subkey;
+	WERROR error;
+	NTTIME last_changed_time;
+	uint32_t num_subkeys, num_values;
+	const char *classname;
+
+	if (!create_test_key(tctx, rctx, "Munchen", &root, &subkey))
+		return false;
+
+	error = reg_key_get_info(tctx, subkey, 
+							 &classname,
+							 &num_subkeys,
+							 &num_values,
+							 &last_changed_time);
+
+	torture_assert_werr_ok(tctx, error, "get info key");
+	torture_assert(tctx, classname == NULL, "classname");
+	torture_assert_int_equal(tctx, num_subkeys, 0, "num subkeys");
+	torture_assert_int_equal(tctx, num_values, 0, "num subkeys");
+
+	return true;
+}
+
 /**
  * Test that the subkeys of a key can be enumerated, that 
  * the returned parameters for get_subkey_by_index are optional and 
@@ -341,6 +367,7 @@
 	torture_tcase_add_simple_test(tcase, "del_key", test_del_key);
 	torture_tcase_add_simple_test(tcase, "del_value", test_del_value);
 	torture_tcase_add_simple_test(tcase, "flush_key", test_flush_key);
+	torture_tcase_add_simple_test(tcase, "query_key", test_query_key);
 }
 
 struct torture_suite *torture_registry_registry(TALLOC_CTX *mem_ctx) 

Modified: branches/4.0-regwrite/source/samba4-skip
===================================================================
--- branches/4.0-regwrite/source/samba4-skip	2007-08-07 09:01:08 UTC (rev 24263)
+++ branches/4.0-regwrite/source/samba4-skip	2007-08-07 11:08:49 UTC (rev 24264)
@@ -46,5 +46,4 @@
 RPC-DSSYNC
 RPC-EPMAPPER
 RPC-INITSHUTDOWN
-RPC-WINREG
 RPC-SAMSYNC



More information about the samba-cvs mailing list