Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9667 → Rev 9668

/programs/develop/cedit/SRC/Lines.ob07
45,7 → 45,13
PTypedPtr = PROCEDURE (p: List.tItem);
PUntypedPtr = PROCEDURE (p: INTEGER);
 
tVector* = POINTER TO RECORD
size, data: INTEGER
END;
 
tVectorItem = tLine;
 
 
VAR
 
_movInt: PmovInt;
58,6 → 64,57
tabs*: BOOLEAN;
 
 
PROCEDURE createVector* (size: INTEGER): tVector;
VAR
res: tVector;
BEGIN
IF size > 0 THEN
NEW(res);
res.size := size;
IF size < 4096 THEN
size := 4096
END;
res.data := API._NEW(size*SYSTEM.SIZE(tVectorItem));
IF res.data = 0 THEN
DISPOSE(res)
END
ELSE
res := NIL
END
RETURN res
END createVector;
 
 
PROCEDURE destroyVector* (VAR vector: tVector);
BEGIN
IF vector # NIL THEN
IF vector.data # 0 THEN
vector.data := API._DISPOSE(vector.data)
END;
DISPOSE(vector)
END
END destroyVector;
 
 
PROCEDURE setVectorItem* (vector: tVector; idx: INTEGER; item: tVectorItem);
BEGIN
ASSERT(vector # NIL);
ASSERT((0 <= idx) & (idx < vector.size));
SYSTEM.PUT(vector.data + idx*SYSTEM.SIZE(tVectorItem), item)
END setVectorItem;
 
 
PROCEDURE getVectorItem* (vector: tVector; idx: INTEGER): tVectorItem;
VAR
res: tVectorItem;
BEGIN
ASSERT(vector # NIL);
ASSERT((0 <= idx) & (idx < vector.size));
SYSTEM.GET(vector.data + idx*SYSTEM.SIZE(tVectorItem), res)
RETURN res
END getVectorItem;
 
 
PROCEDURE movInt (VAR v: INTEGER; x: INTEGER);
BEGIN
_movInt(v, x)