// Copyright 2021 David Robillard // SPDX-License-Identifier: ISC #ifndef ZIX_FAILING_ALLOCATOR_H #define ZIX_FAILING_ALLOCATOR_H #include "zix/allocator.h" #include /// An allocator that fails after some number of successes for testing typedef struct { ZixAllocator base; ///< Base allocator instance size_t n_allocations; ///< Number of attempted allocations size_t n_remaining; ///< Number of remaining successful allocations } ZixFailingAllocator; ZixFailingAllocator zix_failing_allocator(void); #endif // ZIX_FAILING_ALLOCATOR_H