/
niceSOFT
/
shadow
Обзор
Документация
Войти
/
niceSOFT
/
shadow
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lib/alloc/realloc.h
32 строки
877 B
Alejandro Colomar
lib/: Rename XREALLOC() => xrealloc_T()
06 дек 2025, 06:22
06 дек 2025, 06:22
01a0aac
Код
Авторство
О чём код?
// SPDX-FileCopyrightText: 2023-2025, Alejandro Colomar <alx@kernel.org> // SPDX-License-Identifier: BSD-3-Clause #ifndef SHADOW_INCLUDE_LIB_ALLOC_REALLOC_H_ #define SHADOW_INCLUDE_LIB_ALLOC_REALLOC_H_ #include "config.h" #include <stdlib.h> #include "exit_if_null.h" #include "sizeof.h" // realloc_T - realloc type-safe #define realloc_T(p, n, T) realloc_T_(p, n, typeas(T)) #define realloc_T_(p, n, T) \ ({ \ _Generic(p, T *: (void)0); \ (T *){reallocarray_(p, n, sizeof(T))}; \ }) #define reallocarray_(p, n, size) reallocarray(p, (n) ?: 1, (size) ?: 1) // xrealloc_T - exit-on-error realloc type-safe #define xrealloc_T(p, n, T) exit_if_null(realloc_T(p, n, T)) #endif // include guard