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

Reply via email to