// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar // SPDX-License-Identifier: BSD-3-Clause #ifndef SHADOW_INCLUDE_LIB_ALLOC_X_XCALLOC_H_ #define SHADOW_INCLUDE_LIB_ALLOC_X_XCALLOC_H_ #include #include #include #include "attr.h" #define XCALLOC(n, type) \ ( \ (type *) xcalloc(n, sizeof(type)) \ ) ATTR_ALLOC_SIZE(1, 2) ATTR_MALLOC(free) void *xcalloc(size_t nmemb, size_t size); #endif // include guard