mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 18:49:16 +02:00
* vmtlink type changed to pointer
This commit is contained in:
parent
a5efe8d0c4
commit
4844858fa6
@ -297,7 +297,7 @@ TYPE
|
|||||||
PStreamRec = ^TStreamRec; { Stream record ptr }
|
PStreamRec = ^TStreamRec; { Stream record ptr }
|
||||||
TStreamRec = RECORD
|
TStreamRec = RECORD
|
||||||
ObjType: Sw_Word; { Object type id }
|
ObjType: Sw_Word; { Object type id }
|
||||||
VmtLink: Sw_Word; { VMT link }
|
VmtLink: pointer; { VMT link }
|
||||||
Load : Pointer; { Object load code }
|
Load : Pointer; { Object load code }
|
||||||
Store: Pointer; { Object store code }
|
Store: Pointer; { Object store code }
|
||||||
Next : PStreamRec; { Next stream record }
|
Next : PStreamRec; { Next stream record }
|
||||||
@ -969,7 +969,7 @@ END;
|
|||||||
{---------------------------------------------------------------------------}
|
{---------------------------------------------------------------------------}
|
||||||
FUNCTION TStream.Get: PObject;
|
FUNCTION TStream.Get: PObject;
|
||||||
|
|
||||||
TYPE LoadPtr = FUNCTION (Var S: TStream; Link: Sw_Word; Iv: Pointer): PObject;
|
TYPE LoadPtr = FUNCTION (Var S: TStream; Link: pointer; Iv: Pointer): PObject;
|
||||||
|
|
||||||
VAR ObjType: Sw_Word; P: PStreamRec;
|
VAR ObjType: Sw_Word; P: PStreamRec;
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -1075,12 +1075,12 @@ END;
|
|||||||
PROCEDURE TStream.Put (P: PObject);
|
PROCEDURE TStream.Put (P: PObject);
|
||||||
TYPE StorePtr = PROCEDURE (Var S: TStream; AnObject: PObject);
|
TYPE StorePtr = PROCEDURE (Var S: TStream; AnObject: PObject);
|
||||||
|
|
||||||
VAR ObjType: Sw_Word; Link: Sw_Word; Q: PStreamRec; VmtPtr: ^Sw_Word;
|
VAR ObjType: Sw_Word; Link: pointer; Q: PStreamRec; VmtPtr: ^pointer;
|
||||||
BEGIN
|
BEGIN
|
||||||
VmtPtr := Pointer(P); { Xfer object to ptr }
|
VmtPtr := Pointer(P); { Xfer object to ptr }
|
||||||
Link := VmtPtr^; { VMT link }
|
Link := VmtPtr^; { VMT link }
|
||||||
ObjType := 0; { Set objtype to zero }
|
ObjType := 0; { Set objtype to zero }
|
||||||
If (P<>Nil) AND (Link<>0) Then Begin { We have a VMT link }
|
If (P<>Nil) AND (Link<>Nil) Then Begin { We have a VMT link }
|
||||||
Q := StreamTypes; { Current reg list }
|
Q := StreamTypes; { Current reg list }
|
||||||
While (Q <> Nil) AND (Q^.VMTLink <> Link) { Find link match OR }
|
While (Q <> Nil) AND (Q^.VMTLink <> Link) { Find link match OR }
|
||||||
Do Q := Q^.Next; { Find end of chain }
|
Do Q := Q^.Next; { Find end of chain }
|
||||||
@ -2734,7 +2734,10 @@ END;
|
|||||||
END.
|
END.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.9 1998-10-22 18:23:55 peter
|
Revision 1.10 1998-10-23 16:51:18 pierre
|
||||||
|
* vmtlink type changed to pointer
|
||||||
|
|
||||||
|
Revision 1.9 1998/10/22 18:23:55 peter
|
||||||
+ packed record for conversion records
|
+ packed record for conversion records
|
||||||
|
|
||||||
Revision 1.8 1998/09/09 15:29:02 peter
|
Revision 1.8 1998/09/09 15:29:02 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user