05
**FREE
ctl-opt nomain;
//dcl-pr OffsetPtr pointer;
// pePointer pointer Value;
// peOffset integer Value;
//end-pr;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Return a pointer at a specified offset value from another ptr
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dcl-proc OffsetPtr EXPORT;
dcl-pi OffsetPtr pointer;
pePointer pointer Value;
peOffset integer Value;
dcl-s p_NewPtr pointer;
dcl-s wkMove char(1) DIM(4097) BASED(p_NewPtr);
p_NewPtr = pePointer;
if peOffset > 0;
dow peOffset > 4096;
p_NewPtr = %addr(wkMove(4097));
peOffset = peOffset - 4096;
enddo;
p_NewPtr = %addr(wkMove(peOffset+1));
endif;
return p_NewPtr;
end-Proc OffsetPtr;
ctl-opt nomain;
//dcl-pr OffsetPtr pointer;
// pePointer pointer Value;
// peOffset integer Value;
//end-pr;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Return a pointer at a specified offset value from another ptr
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dcl-proc OffsetPtr EXPORT;
dcl-pi OffsetPtr pointer;
pePointer pointer Value;
peOffset integer Value;
dcl-s p_NewPtr pointer;
dcl-s wkMove char(1) DIM(4097) BASED(p_NewPtr);
p_NewPtr = pePointer;
if peOffset > 0;
dow peOffset > 4096;
p_NewPtr = %addr(wkMove(4097));
peOffset = peOffset - 4096;
enddo;
p_NewPtr = %addr(wkMove(peOffset+1));
endif;
return p_NewPtr;
end-Proc OffsetPtr;
Comments
Post a Comment