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