Ring1_Memory_copyArraySlow
Copy Bytes from a source memory block to a target memory block.
Ring1_Result
Ring1_Memory_copyArraySlow
(
void *p,
const void *q,
size_t numberOfElements,
size_t elementSize
)
This function copies
numberOfElements * elementSize
Bytes from a source memory block pointed to by
q
to a target memory block pointed to by
p
.
This function handles copying between overlapping memory blocks However, its slower than Ring1_Memory_copyArrayFast. If you can assert that the memory blocks are not overlapping, use the faster Ring1_Memory_copyArrayFast.
Parameter variables
p
- A pointer to the target memory block.
q
- A pointer to the source memory block.
numberOfElements, elementSize
numberOfElements * elementSize
is the number of Bytes to copy.
Return Values
Ring1_Result_Success
on success, Ring1_Result_Failure
on failure.
Post Conditions
If this function fails, then it sets the by-thread status variable.
Below is a list of failure conditions and the status codes indicating them.
Ring1_Status_InvalidArgument
-
if
p
and/orq
isNULL
Ring1_Status_NumericOverflow
- if the value
numberOfElements * elementSize
is not representable bysize_t
values
If this function fails, neither p
nor p
is not dereferenced.