c/string/byte/memcpy

@1@ Copies characters from the object pointed to by  to the object pointed to by. Both objects are interpreted as arrays of. @@The behavior is undefined if access occurs beyond the end of the array. If the objects overlap, the behavior is undefined. The behavior is undefined if either or  is an invalid or null pointer.

@2@ Same as, except that the following errors are detected at runtime and cause the entire destination range to be zeroed out (if both  and  are valid), as well as call the currently installed constraint handler function:
 * or is a null pointer
 * or is greater than rsize_max
 * is greater than (buffer overflow would occur)
 * the source and the destination objects overlap

@@The behavior is undefined if the size of the character array pointed to by <  <= ; in other words, an erroneous value of  does not expose the impending buffer overflow.

Return value
@1@ Returns a copy of @2@ Returns zero on success and non-zero value on error. Also on error, if is not a null pointer and  is valid, writes  zero bytes in to the destination array.