summaryrefslogtreecommitdiff
path: root/testprogs
diff options
context:
space:
mode:
Diffstat (limited to 'testprogs')
-rwxr-xr-xtestprogs/ejs/winreg.js33
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;