Changeset 113 for trunk/kernel/libk/memcpy.c
- Timestamp:
- Jun 30, 2017, 11:03:08 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/libk/memcpy.c
r11 r113 28 28 void * memcpy( void * dst, 29 29 const void * src, 30 uint32_t size) 30 uint32_t size) 31 31 { 32 32 uint32_t * wdst = dst; … … 36 36 if (!((uint32_t) wdst & 3) && !((uint32_t) wsrc & 3) ) 37 37 { 38 while (size > 3) 38 while (size > 3) 39 39 { 40 40 *wdst++ = *wsrc++; … … 47 47 48 48 // byte per byte for last bytes (or not aligned) 49 while (size--) 49 while (size--) 50 50 { 51 51 *cdst++ = *csrc++; … … 55 55 56 56 ////////////////////////////// 57 void * memset( void * dst, 57 void * memset( void * dst, 58 58 uint32_t val, 59 uint32_t size) 59 uint32_t size) 60 60 { 61 61 // build 8 bits and 32 bits values … … 86 86 } 87 87 88 ////////////////////////////// 89 int memcmp( const void * s1, 90 const void * s2, 91 uint32_t n) 92 { 93 const uint8_t * cs1 = s1; 94 const uint8_t * cs2 = s2; 95 96 while (n > 0) 97 { 98 if (*cs1++ != *cs2++) 99 return (*--cs1 - *--cs2); 100 n--; 101 } 102 return 0; 103 } 104
Note: See TracChangeset
for help on using the changeset viewer.