internal: Introduce macro for stealing pointers

VIR_STEAL_PTR copies the pointer from the second argument into the
first argument and then sets the second to NULL.
This commit is contained in:
Peter Krempa 2016-07-31 14:02:08 +02:00
parent d5813d72ad
commit 5b7dedc995

View File

@ -306,6 +306,18 @@
(a) = (a) ^ (b); \
} while (0)
/**
* VIR_STEAL_PTR:
*
* Steals pointer passed as second argument into the first argument. Second
* argument must not have side effects.
*/
# define VIR_STEAL_PTR(a, b) \
do { \
(a) = (b); \
(b) = NULL; \
} while (0)
/**
* virCheckFlags:
* @supported: an OR'ed set of supported flags