mirror of https://github.com/CPunch/Laika.git
43 lines
797 B
C
43 lines
797 B
C
#include "core/lmem.h"
|
|
|
|
#include "core/lerror.h"
|
|
|
|
void *laikaM_realloc(void *buf, size_t sz)
|
|
{
|
|
void *newBuf;
|
|
|
|
/* are we free'ing the buffer? */
|
|
if (sz == 0) {
|
|
free(buf);
|
|
return NULL;
|
|
}
|
|
|
|
/* if NULL is passed, realloc() acts like malloc() */
|
|
if ((newBuf = realloc(buf, sz)) == NULL)
|
|
LAIKA_ERROR("failed to allocate memory!\n");
|
|
|
|
return newBuf;
|
|
}
|
|
|
|
bool laikaM_isBigEndian(void)
|
|
{
|
|
union
|
|
{
|
|
uint32_t i;
|
|
uint8_t c[4];
|
|
} _indxint = {0xDEADB33F};
|
|
|
|
return _indxint.c[0] == 0xDE;
|
|
}
|
|
|
|
void laikaM_reverse(uint8_t *buf, size_t sz)
|
|
{
|
|
int k;
|
|
|
|
/* swap bytes, reversing the buffer */
|
|
for (k = 0; k < (sz / 2); k++) {
|
|
uint8_t tmp = buf[k];
|
|
buf[k] = buf[sz - k - 1];
|
|
buf[sz - k - 1] = tmp;
|
|
}
|
|
} |