#pragma once #include #include static int reserve(void **vec, size_t size, size_t *capacity, size_t elem) { if (size <= *capacity) return 0; size_t target = 16; while (target < size * elem) target *= 2; void *new_resources; if (*vec == NULL) new_resources = malloc(target); else new_resources = realloc(*vec, target); if (new_resources == NULL) { perror("TZR_LoadResourceFromMemory:reserve_ressources"); return 1; } *vec = new_resources; *capacity = target / elem; return 0; }