58 lines
968 B
C
58 lines
968 B
C
/* see LICENSE file for copyright and license details. */
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#include <cobble/util.h>
|
|
|
|
void*
|
|
smalloc(size_t size, unsigned long line)
|
|
{
|
|
void *p;
|
|
|
|
p = malloc(size);
|
|
if (!p) {
|
|
fprintf(stderr, "ran out of memory in [%s:%lu]", __FILE__, line);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
return p;
|
|
}
|
|
|
|
void*
|
|
scalloc(size_t size, unsigned long line)
|
|
{
|
|
void *p;
|
|
|
|
p = calloc(size, 1);
|
|
if (!p) {
|
|
fprintf(stderr, "ran out of memory in [%s:%lu]", __FILE__, line);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
return p;
|
|
}
|
|
|
|
void
|
|
srealloc(void *ptr, size_t size, unsigned long line)
|
|
{
|
|
realloc(ptr, (unsigned long)size);
|
|
if (!ptr) {
|
|
fprintf(stderr, "ran out of memory in [%s:%lu]", __FILE__, line);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
}
|
|
|
|
void
|
|
swap_endian(void *data, size_t size)
|
|
{
|
|
uint8_t *d, tmp;
|
|
int i;
|
|
|
|
d = (uint8_t*)data;
|
|
for (i = 0;i < size / 2; i++) {
|
|
tmp = d[i];
|
|
d[i] = d[size - 1 - i];
|
|
d[size - 1 - i] = tmp;
|
|
}
|
|
}
|