summaryrefslogtreecommitdiff
path: root/source4/scripting/bin
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-11-02 01:04:00 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:45:39 -0500
commit783851099b43236666b2fc0cc866834773d6e7b7 (patch)
tree277745750144e4e326ae1ad6e246daba042c332c /source4/scripting/bin
parente8c23e4e2d9aab7fcf0e7653756c84ef6cf34ed6 (diff)
downloadsamba-783851099b43236666b2fc0cc866834773d6e7b7.tar.gz
samba-783851099b43236666b2fc0cc866834773d6e7b7.tar.bz2
samba-783851099b43236666b2fc0cc866834773d6e7b7.zip
r11458: fixed our ejs smbscript interfaces to use arrays where appropriate. In
js arrays are a special type of object where the length property is automatic, and cannot be modified manually. Our code was manually setting length, which made it abort when someone passed in a real ejs array. To fix this we need to create real arrays instead of objects, and remove the code that manually sets the length (This used to be commit ebdd1393fde44a0a35446d1a922d29a7c1769ba7)
Diffstat (limited to 'source4/scripting/bin')
-rwxr-xr-xsource4/scripting/bin/winreg13
1 files changed, 10 insertions, 3 deletions
diff --git a/source4/scripting/bin/winreg b/source4/scripting/bin/winreg
index ac6f9e61ba..2114394f45 100755
--- a/source4/scripting/bin/winreg
+++ b/source4/scripting/bin/winreg
@@ -61,13 +61,15 @@ function list_values(path) {
}
function list_path(path) {
+ var count = 0;
var list = reg.enum_path(path);
if (list == undefined) {
println("Unable to list " + path);
- return;
+ return 0;
}
var i;
list_values(path);
+ count = count + list.length;
for (i=0;i<list.length;i++) {
var npath;
if (path) {
@@ -76,8 +78,9 @@ function list_path(path) {
npath = list[i];
}
println(npath);
- list_path(npath);
+ count = count + list_path(npath);
}
+ return count;
}
var root;
@@ -95,6 +98,10 @@ if (options.createkey) {
}
} else {
printf("Listing registry tree '%s'\n", root);
- list_path(root);
+ var count = list_path(root);
+ if (count == 0) {
+ println("No entries found");
+ return 1;
+ }
}
return 0;