Author: tridge
Date: 2005-08-06 01:11:16 +0000 (Sat, 06 Aug 2005)
New Revision: 9160

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

Log:
use the winreg lib in the test program



Modified:
   branches/SAMBA_4_0/testprogs/ejs/winreg.js


Changeset:
Modified: branches/SAMBA_4_0/testprogs/ejs/winreg.js
===================================================================
--- branches/SAMBA_4_0/testprogs/ejs/winreg.js  2005-08-06 01:09:27 UTC (rev 
9159)
+++ branches/SAMBA_4_0/testprogs/ejs/winreg.js  2005-08-06 01:11:16 UTC (rev 
9160)
@@ -3,6 +3,9 @@
   test winreg calls from ejs
 */     
 
+libinclude("base.js");
+libinclude("winreg.js");
+
 var options = new Object();
 
 ok = GetOptions(ARGV, options,
@@ -31,66 +34,24 @@
    return -1;
 }
 
-
-
-function list(handle, path, name) {
-       var io = irpcObj();
-       var wtime = new Object();
-       wtime.low  = 2147483647;
-       wtime.high = 2147483647;
-       var keyname = new Object();
-       keyname.unknown  = 522;
-       keyname.key_name = NULL;
-       
-       var idx = 0;
-       for (idx=0;idx >= 0;idx++) {
-               io.input.handle            = handle;
-               io.input.enum_index        = idx;
-               io.input.key_name_len      = 0;
-               io.input.unknown           = 1044;
-               io.input.in_name           = keyname;
-               io.input.class             = "";
-               io.input.last_changed_time = wtime;
-               var status = reg.winreg_EnumKey(io);
-               if (!status.is_ok) return;
-               var out = io.output;
-               if (out.result != "WERR_OK") {
-                       return;
-               }
-               printf("%s\\%s\n", path, out.out_name.name);
-               
-               io = irpcObj();
-               io.input.handle            = handle;
-               io.input.keyname = out.out_name.name;
-               io.input.unknown = 0;
-               io.input.access_mask = reg.SEC_FLAG_MAXIMUM_ALLOWED;
-               status = reg.winreg_OpenKey(io);
-               if (!status.is_ok) return;
-               assert(io.output.result == "WERR_OK");
-
-               list(io.output.handle, 
-                    path + "\\" + out.out_name.name, 
-                    out.out_name.name);
+function list_path(path) {
+       var list = winreg_enum_path(reg, path);
+       var i;
+       if (list == undefined) {
+               return;
        }
+       for (i=0;i<list.length;i++) {
+               var npath = path + "\\" + list[i];
+               println(npath);
+               list_path(npath);
+       }
 }
 
-function list_tree(name) {
-       var io = irpcObj();
-       io.input.system_name = NULL;
-       io.input.access_required = reg.SEC_FLAG_MAXIMUM_ALLOWED;
-       status = reg.winreg_OpenHKLM(io);
-       assert(status.is_ok);
-
-       var handle = io.output.handle;
-
-       list(handle, "", NULL);
-}
-
 var trees = new Array("HKCR", "HKLM", "HKPD", "HKU");
 
 for (i=0;i<trees.length;i++) {
        printf("Listing tree '%s'\n", trees[i]);
-       list_tree(trees[i]);
+       list_path(trees[i]);
 }
 
 print("All OK\n");

Reply via email to