diff options
Diffstat (limited to 'testprogs')
-rwxr-xr-x | testprogs/ejs/winreg.js | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/testprogs/ejs/winreg.js b/testprogs/ejs/winreg.js index 831528b05c..22b20739f2 100755 --- a/testprogs/ejs/winreg.js +++ b/testprogs/ejs/winreg.js @@ -13,15 +13,15 @@ ok = GetOptions(ARGV, options, "POPT_COMMON_SAMBA", "POPT_COMMON_CREDENTIALS"); if (ok == false) { - println("Failed to parse options: " + options.ERROR); - return -1; + println("Failed to parse options: " + options.ERROR); + return -1; } libinclude("base.js"); -if (options.ARGV.length != 1) { - println("Usage: winreg.js <BINDING>"); - return -1; +if (options.ARGV.length < 1) { + println("Usage: winreg.js <BINDING>"); + return -1; } var binding = options.ARGV[0]; reg = winreg_init(); @@ -30,8 +30,8 @@ security_init(reg); print("Connecting to " + binding + "\n"); status = reg.connect(binding); if (status.is_ok != true) { - print("Failed to connect to " + binding + " - " + status.errstr + "\n"); - return -1; + print("Failed to connect to " + binding + " - " + status.errstr + "\n"); + return -1; } function list_path(path) { @@ -41,18 +41,25 @@ function list_path(path) { return; } for (i=0;i<list.length;i++) { - var npath = path + "\\" + list[i]; + var npath; + if (path) { + npath = path + "\\" + list[i]; + } else { + npath = list[i]; + } println(npath); list_path(npath); } } -var trees = new Array("HKCR", "HKLM", "HKPD", "HKU"); +var root; -for (i=0;i<trees.length;i++) { - printf("Listing tree '%s'\n", trees[i]); - list_path(trees[i]); +if (options.ARGV.length > 1) { + root = options.ARGV[1]; +} else { + root = ''; } -print("All OK\n"); +printf("Listing registry tree '%s'\n", root); +list_path(root); return 0; |