revert between 56095 -> 55830 in arch
[AROS.git] / tools / flexcat / src / sd / Oberon_V38.sd
blob242b2cfa59c7efe978fe2f920facc53e69b93dd0
1 ##rem $Id$
2 ##stringtype Oberon
3 ##shortstrings
5 (****************************************************************
7    This file was created automatically by `%fv'
8    from "%f0".
10    Do NOT edit by hand!
12 ****************************************************************)
14 MODULE %b;
17 IMPORT
18   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
20 CONST
21   builtinlanguage = %l;
22   version = %v;
24   %i* = %d;\n%iSTR = %s;\n\n
27 TYPE
28   AppString = STRUCT
29      id  : LONGINT;
30      str : e.STRPTR;
31   END;
32   AppStringArray = ARRAY %n OF AppString;
34 CONST
35   AppStrings = AppStringArray (
36     %i, y.ADR(%iSTR)%(,)
37   );
39 VAR
40   catalog : lo.CatalogPtr;
42   PROCEDURE CloseCatalog*();
43     BEGIN
44       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
45    END CloseCatalog;
47   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
48     VAR Tag : u.Tags4;
49     BEGIN
50       CloseCatalog();
51       IF (catalog = NIL) & (lo.base # NIL) THEN
52         Tag:= u.Tags4(lo.BuiltInLanguage, y.ADR(builtinlanguage),
53                       u.skip, u.done, lo.Version, version, u.done, u.done);
54         IF language # "" THEN
55           Tag[1].tag:= lo.Language; Tag[1].data:= y.ADR(language);
56         END;
57         catalog := lo.OpenCatalogA (loc, "%b.catalog", Tag);
58       END;
59     END OpenCatalog;
61   PROCEDURE GetString* (num: LONGINT): e.STRPTR;
62     VAR
63       i: LONGINT;
64       default: e.STRPTR;
65     BEGIN
66       i := 0; WHILE (i < %n) AND (AppStrings[i].id # num) DO INC (i) END;
68       IF i # %n THEN
69       default := AppStrings[i].str;
70       ELSE
71         default := NIL;
72       END;
74       IF catalog # NIL THEN
75         RETURN lo.GetCatalogStr (catalog, num, default^);
76       ELSE
77         RETURN default;
78       END;
79     END GetString;
81 CLOSE
82   CloseCatalog();
83 END Chaos.