implement cu_memtest for cheacking if memory is zeroed
This commit is contained in:
parent
3c0de35e2c
commit
0067951bdf
3 changed files with 24 additions and 0 deletions
18
cutil.c
18
cutil.c
|
|
@ -24,3 +24,21 @@ void cutil_init()
|
|||
void cutil_exit()
|
||||
{
|
||||
}
|
||||
|
||||
const void* cu_memtest(const void* mem, uint size)
|
||||
{
|
||||
unsigned i;
|
||||
for (i = 0; i < size / sizeof(uword); i++)
|
||||
{
|
||||
if (*(uword*)mem) return mem;
|
||||
*(uword*)mem++;
|
||||
}
|
||||
|
||||
for (i = 0; i < size % sizeof(uword); i++)
|
||||
{
|
||||
if (*(uint8_t*)mem) return mem;
|
||||
*(uint8_t*)mem++;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
2
cutil.h
2
cutil.h
|
|
@ -21,4 +21,6 @@ extern void* (*cu_memmove)(void*,const void*,size_t);
|
|||
void cutil_init();
|
||||
void cutil_exit();
|
||||
|
||||
const void* cu_memtest(const void* mem, uint size);
|
||||
|
||||
#endif
|
||||
4
test.c
4
test.c
|
|
@ -101,6 +101,10 @@ int main()
|
|||
|
||||
printf("[cutil]\n");
|
||||
printf("cutil_arch\t%u\n", CU_ARCH);
|
||||
uint64_t val1 = 0;
|
||||
printf("val1\t%u\tcu_memtest\t%p\n", val1, cu_memtest(&val1, sizeof(val1)));
|
||||
char val2[] = {0,0,0,1,0,0,0,0,0,0,4,0,0};
|
||||
printf("val2\tcu_memtest\t%p\n", cu_memtest(val2, sizeof(val2)));
|
||||
|
||||
printf("[endian]\n");
|
||||
printf("cutil_endian\t%u\n", cu_endian);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue