@@ -146,16 +146,17 @@ char *memcpy(char *dest, char *src, int count)
146
146
void * memset (void * s , int c , int n )
147
147
{
148
148
int i = 0 ;
149
- char * ptr = s ;
149
+ char * ptr = (char * ) s ;
150
+ char byte_val = (char ) c ;
150
151
for (; i + 4 <= n ; i += 4 ) {
151
- ptr [i ] = c ;
152
- ptr [i + 1 ] = c ;
153
- ptr [i + 2 ] = c ;
154
- ptr [i + 3 ] = c ;
152
+ ptr [i ] = byte_val ;
153
+ ptr [i + 1 ] = byte_val ;
154
+ ptr [i + 2 ] = byte_val ;
155
+ ptr [i + 3 ] = byte_val ;
155
156
}
156
157
157
158
for (; i < n ; i ++ )
158
- ptr [i ] = c ;
159
+ ptr [i ] = byte_val ;
159
160
160
161
return s ;
161
162
}
@@ -282,7 +283,7 @@ void __fmtbuf_write_char(fmtbuf_t *fmtbuf, int val)
282
283
if (fmtbuf -> n <= 1 )
283
284
return ;
284
285
285
- char ch = val & 0xFF ;
286
+ char ch = ( char ) ( val & 0xFF ) ;
286
287
fmtbuf -> buf [0 ] = ch ;
287
288
fmtbuf -> buf += 1 ;
288
289
fmtbuf -> n -= 1 ;
@@ -418,12 +419,12 @@ void __format_to_buf(fmtbuf_t *fmtbuf, char *format, int *var_args)
418
419
switch (format [si ]) {
419
420
case 's' :
420
421
/* append param pi as string */
421
- l = strlen (v );
422
- __fmtbuf_write_str (fmtbuf , v , l );
422
+ l = strlen (( char * ) v );
423
+ __fmtbuf_write_str (fmtbuf , ( char * ) v , l );
423
424
break ;
424
425
case 'c' :
425
426
/* append param pi as char */
426
- __fmtbuf_write_char (fmtbuf , v );
427
+ __fmtbuf_write_char (fmtbuf , ( char ) v );
427
428
break ;
428
429
case 'o' :
429
430
/* append param as octal */
@@ -551,8 +552,8 @@ char *fgets(char *str, int n, FILE *stream)
551
552
str [i ] = 0 ;
552
553
return str ;
553
554
}
554
- /* Not support casting yet. Simply assign it. */
555
- str [i ] = c ;
555
+ /* Use explicit cast for clarity */
556
+ str [i ] = ( char ) c ;
556
557
557
558
if (c == '\n' ) {
558
559
str [i + 1 ] = 0 ;
@@ -683,7 +684,7 @@ void *malloc(int size)
683
684
__alloc_tail -> size = allocated -> size ;
684
685
chunk_clear_freed (__alloc_tail );
685
686
686
- void * ptr = __alloc_tail + 1 ;
687
+ void * ptr = ( void * ) ( __alloc_tail + 1 ) ;
687
688
return ptr ;
688
689
}
689
690
@@ -750,8 +751,8 @@ void free(void *ptr)
750
751
if (!ptr )
751
752
return ;
752
753
753
- char * __ptr = ptr ;
754
- chunk_t * cur = __ptr - sizeof (chunk_t );
754
+ char * __ptr = ( char * ) ptr ;
755
+ chunk_t * cur = ( chunk_t * ) ( __ptr - sizeof (chunk_t ) );
755
756
if (IS_CHUNK_GET_FREED (cur -> size )) {
756
757
printf ("free(): double free detected\n" );
757
758
abort ();
0 commit comments