` ArrayResize
` Resizes all the arrays passed to the size specified
` The big difference between this and SIZE_ARRAY is that multiple arrays work
` $1 - New size (if negative, then don't clear)
` $2 & up - pointers to the arrays
C_LONGINT($i;$NewSize;$ArrayCount;$CurSize)
C_POINTER($ArrayPtr)
C_BOOLEAN($Clear)
If ($1>=0)
$NewSize:=$1
$Clear:=True
Else
$NewSize:=-$1
$Clear:=False
End if
$ArrayCount:=Count parameters-1
For ($i;1;$ArrayCount)
$ArrayPtr:=${$i+1}
$CurSize:=Size of array($ArrayPtr->)
If ($Clear)
If ($CurSize>0)
DELETE ELEMENT($ArrayPtr->;1;$CurSize)
End if
INSERT ELEMENT($ArrayPtr->;1;$NewSize)
Else
Case of
: ($CurSize>$NewSize) `Delete extra elements
DELETE ELEMENT($ArrayPtr->;$NewSize+1;$CurSize-$NewSize)
: ($CurSize<$NewSize) ` Insert needed elements.
INSERT ELEMENT($ArrayPtr->;$CurSize+1;$NewSize-$CurSize)
End case
End if ` $Clear
End for