revert between 56095 -> 55830 in arch
[AROS.git] / tools / flexcat / src / sd / Oberon_V39.sd
blob37cd455a4f12c92dd5850c41ba3c81de73a0749e
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;
16 IMPORT
17   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
19 CONST
20   builtinlanguage = %l;
21   version = %v;
23   %i* = %d;\n%iSTR = %s;\n\n
26 TYPE
27   AppString = STRUCT
28      id  : LONGINT;
29      str : e.STRPTR;
30   END;
31   AppStringArray = ARRAY %n OF AppString;
33 CONST
34   AppStrings = AppStringArray (
35     %i, y.ADR(%iSTR)%(,)
36   );
38 VAR
39   catalog : lo.CatalogPtr;
41   PROCEDURE CloseCatalog*();
42     BEGIN
43       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
44    END CloseCatalog;
46   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
47     VAR Tag : u.Tags4;
48     BEGIN
49       CloseCatalog();
50       IF (catalog = NIL) & (lo.base # NIL) THEN
51         Tag:= u.Tags4(lo.BuiltInLanguage, y.ADR(builtinlanguage),
52                       u.skip, u.done, lo.version, version, u.done, u.done);
53         IF language # "" THEN
54           Tag[1].tag:= lo.language; Tag[1].data:= y.ADR(language);
55         END;
56         catalog := lo.OpenCatalogA (loc, "%b.catalog", Tag);
57       END;
58     END OpenCatalog;
60   PROCEDURE GetString* (num: LONGINT): e.STRPTR;
61     VAR
62       i: LONGINT;
63       default: e.STRPTR;
64     BEGIN
65       i := 0; WHILE (i < %n) AND (AppStrings[i].id # num) DO INC (i) END;
67       IF i # %n THEN
68       default := AppStrings[i].str;
69       ELSE
70         default := NIL;
71       END;
73       IF catalog # NIL THEN
74         RETURN lo.GetCatalogStr (catalog, num, default^);
75       ELSE
76         RETURN default;
77       END;
78     END GetString;
80 CLOSE
81   CloseCatalog();
82 END Chaos.