in ReadBytesFromAddr ( uint8_t reg, uint8_t * dest, uint8_t len ):
...
ReadBytes ( dest ); // = which is & of local uint8_t result
in static void ReadBytes ( uint8_t * dest ):
uint8_t buf[64];
LONG buflen = sizeof(buf); // i.e. 64
...
memcpy ( dest, buf, len ); // 64 bytes from buf into 1-byte local uint8_t result, placed in ReadReg.
Other words, you've just copied 64 bytes into the local variable (result) (allocated at stack) sized 1 byte.
In ReadReg:
in ReadBytesFromAddr ( uint8_t reg, uint8_t * dest, uint8_t len ):
in static void ReadBytes ( uint8_t * dest ):
Other words, you've just copied 64 bytes into the local variable (result) (allocated at stack) sized 1 byte.