add missing files

This commit is contained in:
dzruyk
2022-04-16 03:26:25 +03:00
parent d649028109
commit 18b2aad88f
3 changed files with 72 additions and 0 deletions

15
macro.h Normal file
View File

@@ -0,0 +1,15 @@
#pragma once
#define ARRSZ(arr) (sizeof(arr) / sizeof(*arr))
#define SWAP(a, b, type) do { \
type tmp; \
tmp = a; \
a = b; \
b = tmp; \
} while(0)
#define ARR_FOREACH(arr, item) \
for (item = arr; item != arr + ARRSZ(arr) * sizeof(*item); item++)

48
util.c Normal file
View File

@@ -0,0 +1,48 @@
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
void *
xmalloc(size_t sz)
{
void *res;
res = malloc(sz);
if (sz != 0 && res == NULL) {
perror("malloc()");
exit(EXIT_FAILURE);
}
return res;
}
void*
xrealloc(void *ptr, size_t size)
{
void *res;
res = realloc(ptr, size);
if (size != 0 && res == NULL) {
perror("realloc()");
exit(EXIT_FAILURE);
}
return res;
}
void
xfree(void *ptr)
{
if (ptr)
free(ptr);
}
void
xerror(int rc, char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vfprintf(stderr, fmt, ap);
exit(rc);
}

9
util.h Normal file
View File

@@ -0,0 +1,9 @@
#pragma once
void *xmalloc(size_t sz);
void* xrealloc(void *ptr, size_t size);
void xfree(void *ptr);
void xerror(int rc, char *fmt, ...);