cobble/src/util.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;
}
}