VirtualBox

source: vbox/trunk/src/libs/xpcom18a4/xpcom/tests/utils/ls.js@ 102103

Last change on this file since 102103 was 1, checked in by vboxsync, 55 years ago

import

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1const nsILocalFile = Components.interfaces.nsILocalFile;
2var prefix = "";
3
4function ls(path, recur)
5{
6 var file = Components.classes["@mozilla.org/file/local;1"].
7 createInstance(nsILocalFile);
8 try {
9 file.initWithPath( path );
10
11 if (file.isDirectory() && arguments.length == 1)
12 ls_dir(file, recur);
13 else
14 ls_file(file, recur);
15 }
16 catch (e) {
17 dump("Error Returned " + e + "\n");
18 }
19}
20function ls_file(file, recur)
21{
22 dump(prefix);
23
24 try {
25 if (file.isDirectory()) {
26 dump("directory " + file.leafName + "\n");
27 if(recur)
28 ls_dir(file, true);
29 return;
30 }
31
32 dump(file.leafName + " " + file.fileSize);
33 if (file.isSymlink())
34 dump(" -> " + file.target);
35 dump("\n");
36 }
37
38 catch (e) {
39 dump(file.leafName + " (error accessing)\n");
40 }
41}
42
43function ls_dir(file, recur)
44{
45 var leafName = file.leafName;
46
47 var old = prefix;
48 prefix = prefix + " ";
49
50 iter = file.directoryEntries;
51 dump(iter + "\n");
52
53 foreach_iter(iter,
54 function (file) { ls_file(file, recur); });
55 prefix = old;
56}
57
58function foreach_iter(iter, fun)
59{
60 while (iter.hasMoreElements()) {
61 var item = iter.getNext().QueryInterface(nsILocalFile);
62 fun(item);
63 }
64}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette