File tree 1 file changed +16
-12
lines changed
1 file changed +16
-12
lines changed Original file line number Diff line number Diff line change @@ -6,32 +6,36 @@ void delay(int a) {
6
6
}
7
7
8
8
void * memset (void * str , int c , unsigned int n ) {
9
- unsigned int i ;
10
- for (i = 0 ; i < n ; i ++ ) {
11
- * (( uint8_t * ) str ) = c ;
12
- ++ str ;
9
+ uint8_t * s = str ;
10
+ for (unsigned int i = 0 ; i < n ; i ++ ) {
11
+ * s = c ;
12
+ s ++ ;
13
13
}
14
14
return str ;
15
15
}
16
16
17
17
void * memcpy (void * dest , const void * src , unsigned int n ) {
18
- unsigned int i ;
19
- // TODO: make not slow
20
- for (i = 0 ; i < n ; i ++ ) {
21
- ((uint8_t * )dest )[i ] = * (uint8_t * )src ;
22
- ++ src ;
18
+ uint8_t * d = dest ;
19
+ const uint8_t * s = src ;
20
+ for (unsigned int i = 0 ; i < n ; i ++ ) {
21
+ * d = * s ;
22
+ d ++ ;
23
+ s ++ ;
23
24
}
24
25
return dest ;
25
26
}
26
27
27
28
int memcmp (const void * ptr1 , const void * ptr2 , unsigned int num ) {
28
- unsigned int i ;
29
29
int ret = 0 ;
30
- for (i = 0 ; i < num ; i ++ ) {
31
- if ( ((uint8_t * )ptr1 )[i ] != ((uint8_t * )ptr2 )[i ] ) {
30
+ const uint8_t * p1 = ptr1 ;
31
+ const uint8_t * p2 = ptr2 ;
32
+ for (unsigned int i = 0 ; i < num ; i ++ ) {
33
+ if (* p1 != * p2 ) {
32
34
ret = -1 ;
33
35
break ;
34
36
}
37
+ p1 ++ ;
38
+ p2 ++ ;
35
39
}
36
40
return ret ;
37
41
}
You can’t perform that action at this time.
0 commit comments