Hello all,
I don't know where I can give this information. Please advise.
I may have found a bug in the ORP.Mod module. In the Declarations procedure the following lines appear:
IF (x.type.form = ORB.String) & (x.b = 2) THEN ORG.StrToChar(x) END ;
ORB.NewObj(obj, id, ORB.Const); obj.expo := expo;
IF x.mode = ORB.Const THEN obj.val := x.a; obj.lev := x.b; obj.type := x.type
If a one-char string constant is migrated to a CHAR constant (1st line), it will receive a obj.lev := 2 (3rd line). The following modification may resolve the problem:
IF (x.type.form = ORB.String) & (x.b = 2) THEN ORG.StrToChar(x); x.b := level END ;
ORB.NewObj(obj, id, ORB.Const); obj.expo := expo;
IF x.mode = ORB.Const THEN obj.val := x.a; obj.lev := x.b; obj.type := x.type
At least, it seems to work for me.
Cheers!
Guy
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 285 |
Nodes: | 16 (2 / 14) |
Uptime: | 66:43:31 |
Calls: | 6,488 |
Calls today: | 1 |
Files: | 12,096 |
Messages: | 5,275,149 |