From 9085cb5bfdd0b78ff3a62c0c71fc231dd7b5052a Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Sun, 9 Aug 2026 10:41:33 -0300 Subject: replace ArrayLists with bounded storage --- src/pdf_bridge.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/pdf_bridge.h') diff --git a/src/pdf_bridge.h b/src/pdf_bridge.h index bda1eea1..40eaa46c 100644 --- a/src/pdf_bridge.h +++ b/src/pdf_bridge.h @@ -14,6 +14,27 @@ extern "C" { */ typedef struct pardes_pdf_document pardes_pdf_document; +typedef void *(*pardes_pdf_alloc_fn)(void *user, size_t size); +typedef void *(*pardes_pdf_realloc_fn)( + void *user, + void *pointer, + size_t size +); +typedef void (*pardes_pdf_free_fn)(void *user, void *pointer); + +typedef struct pardes_pdf_allocator { + void *user; + pardes_pdf_alloc_fn alloc; + pardes_pdf_realloc_fn realloc; + pardes_pdf_free_fn free; +} pardes_pdf_allocator; + +/* + * Install one process-global allocator, or restore libc/default MuPDF + * allocation by passing NULL. Changing it while a document is live fails. + */ +int pardes_pdf_set_allocator(const pardes_pdf_allocator *allocator); + typedef struct pardes_pdf_raster_layout { int width; int height; -- cgit v1.3