According to man 3 memccpy the memccpy function is defined as follows:
SYNOPSIS
#include <string.h> void *memccpy(void *dest, const void *src, int c, size_t n);DESCRIPTION
The
memccpy()function copies no more thannbytes from memory areasrcto memory areadest, stopping when the charactercis found.If the memory areas overlap, the results are undefined.
What confuses me is that memccpy copies n bytes and stops if character c is found. However, the function takes int c as an argument. So what happens if I call memccpy with the following value:
memccpy(&x, &y, 0xffffff76, 100);
Here the value to check is too big for char. Should this case work?