diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2017-07-03 13:07:29 +0100 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2017-07-03 14:17:54 +0100 |
commit | 9616a3d9407973c8f527ab209d6d6bc88faab281 (patch) | |
tree | 74967f54141bd6bcf3c7a465fd15dbf39dbb0b1f /include | |
parent | f01b9010625977956fc27a384335c9599681bcbf (diff) | |
download | mupdf-9616a3d9407973c8f527ab209d6d6bc88faab281.tar.xz |
Memento: pointer checking functions.
Add some helpful functions for doing quick checks on pointer validity.
Use these in the reference counting functions.
Diffstat (limited to 'include')
-rw-r--r-- | include/mupdf/memento.h | 78 |
1 files changed, 50 insertions, 28 deletions
diff --git a/include/mupdf/memento.h b/include/mupdf/memento.h index ee9bf4fb..0776860f 100644 --- a/include/mupdf/memento.h +++ b/include/mupdf/memento.h @@ -217,11 +217,22 @@ void *Memento_calloc(size_t, size_t); void Memento_info(void *addr); void Memento_listBlockInfo(void); +void *Memento_takeByteRef(void *blk); +void *Memento_dropByteRef(void *blk); +void *Memento_takeShortRef(void *blk); +void *Memento_dropShortRef(void *blk); +void *Memento_takeIntRef(void *blk); +void *Memento_dropIntRef(void *blk); void *Memento_takeRef(void *blk); void *Memento_dropRef(void *blk); void *Memento_adjustRef(void *blk, int adjust); void *Memento_reference(void *blk); +int Memento_checkPointerOrNull(void *blk); +int Memento_checkBytePointerOrNull(void *blk); +int Memento_checkShortPointerOrNull(void *blk); +int Memento_checkIntPointerOrNull(void *blk); + void Memento_startLeaking(void); void Memento_stopLeaking(void); @@ -243,34 +254,45 @@ void Memento_fin(void); #define Memento_realloc MEMENTO_UNDERLYING_REALLOC #define Memento_calloc MEMENTO_UNDERLYING_CALLOC -#define Memento_checkBlock(A) 0 -#define Memento_checkAllMemory() 0 -#define Memento_check() 0 -#define Memento_setParanoia(A) 0 -#define Memento_paranoidAt(A) 0 -#define Memento_breakAt(A) 0 -#define Memento_breakOnFree(A) 0 -#define Memento_breakOnRealloc(A) 0 -#define Memento_getBlockNum(A) 0 -#define Memento_find(A) 0 -#define Memento_breakpoint() do {} while (0) -#define Memento_failAt(A) 0 -#define Memento_failThisEvent() 0 -#define Memento_listBlocks() do {} while (0) -#define Memento_listNewBlocks() do {} while (0) -#define Memento_setMax(A) 0 -#define Memento_stats() do {} while (0) -#define Memento_label(A,B) (A) -#define Memento_info(A) do {} while (0) -#define Memento_listBlockInfo() do {} while (0) -#define Memento_takeRef(A) (A) -#define Memento_dropRef(A) (A) -#define Memento_adjustRef(A,V) (A) -#define Memento_reference(A) (A) -#define Memento_tick() do {} while (0) -#define Memento_startLeaking() do {} while (0) -#define Memento_stopLeaking() do {} while (0) -#define Memento_fin() do {} while (0) +#define Memento_checkBlock(A) 0 +#define Memento_checkAllMemory() 0 +#define Memento_check() 0 +#define Memento_setParanoia(A) 0 +#define Memento_paranoidAt(A) 0 +#define Memento_breakAt(A) 0 +#define Memento_breakOnFree(A) 0 +#define Memento_breakOnRealloc(A) 0 +#define Memento_getBlockNum(A) 0 +#define Memento_find(A) 0 +#define Memento_breakpoint() do {} while (0) +#define Memento_failAt(A) 0 +#define Memento_failThisEvent() 0 +#define Memento_listBlocks() do {} while (0) +#define Memento_listNewBlocks() do {} while (0) +#define Memento_setMax(A) 0 +#define Memento_stats() do {} while (0) +#define Memento_label(A,B) (A) +#define Memento_info(A) do {} while (0) +#define Memento_listBlockInfo() do {} while (0) +#define Memento_takeByteRef(A) (A) +#define Memento_dropByteRef(A) (A) +#define Memento_takeShortRef(A) (A) +#define Memento_dropShortRef(A) (A) +#define Memento_takeIntRef(A) (A) +#define Memento_dropIntRef(A) (A) +#define Memento_takeRef(A) (A) +#define Memento_dropRef(A) (A) +#define Memento_adjustRef(A,V) (A) +#define Memento_reference(A) (A) +#define Memento_checkPointerOrNull(A) 0 +#define Memento_checkBytePointerOrNull(A) 0 +#define Memento_checkShortPointerOrNull(A) 0 +#define Memento_checkIntPointerOrNull(A) 0 + +#define Memento_tick() do {} while (0) +#define Memento_startLeaking() do {} while (0) +#define Memento_stopLeaking() do {} while (0) +#define Memento_fin() do {} while (0) #endif /* MEMENTO */ |