MCPcopy Create free account
hub / github.com/LemonOSProject/LemonOS / memcpy

Function memcpy

Kernel/src/string.cpp:65–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63
64extern "C"
65void *memcpy(void* dest, const void* src, size_t count) {
66 const char *sp = (char*)src;
67 char *dp = (char *)dest;
68 for(size_t i = count; i >= sizeof(uint64_t); i = count){
69 *((uint64_t*)dp) = *((uint64_t*)sp);
70 sp = sp + sizeof(uint64_t);
71 dp = dp + sizeof(uint64_t);
72 count -= sizeof(uint64_t);
73 }
74 for(size_t i = count; i >= 4; i = count){
75 *((uint32_t*)dp) = *((uint32_t*)sp);
76 sp = sp + 4;
77 dp = dp + 4;
78 count -= 4;
79 }
80 for (size_t i = count; i > 0; i = count){
81 *(dp++) = *(sp++);
82 count--;
83 }
84 return dest;
85}
86
87extern "C"
88int memcmp(const void *s1, const void *s2, size_t n) {

Callers 15

SendDHCPMessageFunction · 0.85
mainFunction · 0.85
SHA256Method · 0.85
UpdateMethod · 0.85
InsertMethod · 0.85
MessageMethod · 0.85
ReadMethod · 0.85
PeekMethod · 0.85
WriteMethod · 0.85
NextKeyFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected