mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
[9.20] new: dev: Add MOVE_OWNERSHIP() macro for transferring pointer ownership
A helper macro that returns the current value of a pointer and sets it to NULL in one expression, useful for transferring ownership in designated initializers. Backport of MR !11724 Merge branch 'backport-ondrej/TAKE_OWNERSHIP-macro-9.20' into 'bind-9.20' See merge request isc-projects/bind9!11736
This commit is contained in:
commit
13a656f79a
1 changed files with 7 additions and 0 deletions
|
|
@ -41,6 +41,13 @@
|
|||
*** General Macros.
|
||||
***/
|
||||
|
||||
#define MOVE_OWNERSHIP(source) \
|
||||
({ \
|
||||
__typeof__(source) __ownership = (source); \
|
||||
(source) = NULL; \
|
||||
__ownership; \
|
||||
})
|
||||
|
||||
/*%
|
||||
* Legacy way how to hide unused function arguments, don't use in
|
||||
* the new code, rather use the ISC_ATTR_UNUSED macro that expands
|
||||
|
|
|
|||
Loading…
Reference in a new issue