| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef TREE_SITTER_ALLOC_H_
- #define TREE_SITTER_ALLOC_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <stdbool.h>
- #include <stdio.h>
- #include <stdlib.h>
- // Allow clients to override allocation functions
- #ifdef TREE_SITTER_REUSE_ALLOCATOR
- extern void *(*ts_current_malloc)(size_t size);
- extern void *(*ts_current_calloc)(size_t count, size_t size);
- extern void *(*ts_current_realloc)(void *ptr, size_t size);
- extern void (*ts_current_free)(void *ptr);
- #ifndef ts_malloc
- #define ts_malloc ts_current_malloc
- #endif
- #ifndef ts_calloc
- #define ts_calloc ts_current_calloc
- #endif
- #ifndef ts_realloc
- #define ts_realloc ts_current_realloc
- #endif
- #ifndef ts_free
- #define ts_free ts_current_free
- #endif
- #else
- #ifndef ts_malloc
- #define ts_malloc malloc
- #endif
- #ifndef ts_calloc
- #define ts_calloc calloc
- #endif
- #ifndef ts_realloc
- #define ts_realloc realloc
- #endif
- #ifndef ts_free
- #define ts_free free
- #endif
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif // TREE_SITTER_ALLOC_H_
|