diff --git a/kitty/disk-cache.h b/kitty/disk-cache.h index 2b424704a..de84334bf 100644 --- a/kitty/disk-cache.h +++ b/kitty/disk-cache.h @@ -12,5 +12,14 @@ PyObject* create_disk_cache(void); bool add_to_disk_cache(PyObject *self, const void *key, size_t key_sz, const void *data, size_t data_sz); bool remove_from_disk_cache(PyObject *self_, const void *key, size_t key_sz); void* read_from_disk_cache(PyObject *self_, const void *key, size_t key_sz, void*(allocator)(void*, size_t), void*); -static inline void* disk_cache_malloc_allocator(void *x UNUSED, size_t sz) { return malloc(sz); } -static inline void* read_from_disk_cache_simple(PyObject *self_, const void *key, size_t key_sz) { return read_from_disk_cache(self_, key, key_sz, disk_cache_malloc_allocator, NULL); } + +static inline void* disk_cache_malloc_allocator(void *x, size_t sz) { + *((size_t*)x) = sz; + return malloc(sz); +} + +static inline bool +read_from_disk_cache_simple(PyObject *self_, const void *key, size_t key_sz, void **data, size_t *data_sz) { + *data = read_from_disk_cache(self_, key, key_sz, disk_cache_malloc_allocator, data_sz); + return PyErr_Occurred(); +}