DEADSOFTWARE

cpmake: fix preprocessor selector handling
[cpc.git] / src / generic / Dsw / Mod / ListMain.cp
1 MODULE DswListMain;
3 (* file list test *)
5 IMPORT Kernel, HostFiles, Files, Console, Strings;
7 PROCEDURE Init;
8 VAR i, res: INTEGER; loc: Files.Locator; f: Files.FileInfo; d: Files.LocInfo; s: ARRAY 20 OF CHAR;
9 BEGIN
10 IF Kernel.trapCount > 0 THEN Kernel.Quit(1) END;
11 HostFiles.SetRootDir(".");
12 i := 1; res := 0;
13 WHILE i < Kernel.argc DO
14 loc := Files.dir.This(Kernel.argv[i]$);
15 d := Files.dir.LocList(loc);
16 IF loc.res = 0 THEN
17 WHILE d # NIL DO
18 Console.WriteStr(d.name + "/");
19 Console.WriteLn;
20 d := d.next
21 END;
22 f := Files.dir.FileList(loc);
23 IF loc.res = 0 THEN
24 WHILE f # NIL DO
25 Console.WriteStr(f.name);
26 Console.WriteLn;
27 f := f.next
28 END
29 END
30 END;
31 IF loc.res # 0 THEN
32 Console.WriteStr(Kernel.argv[i] + ': error ');
33 Strings.IntToString(loc.res, s);
34 Console.WriteStr(s);
35 Console.WriteLn;
36 INC(res);
37 END;
38 INC(i)
39 END;
40 IF res = 0 THEN Kernel.Quit(0)
41 ELSIF res = 1 THEN Kernel.Quit(1)
42 ELSE Kernel.Quit(2)
43 END
44 END Init;
46 BEGIN
47 Kernel.Start(Init)
48 END DswListMain.