mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-15 21:59:41 -04:00
MINOR: tools: add a new macro DEFVAL() to provide a default argument
This is like DEFZERO and DEFNULL, but this one allows to specify the default value to be used as the first argument.
This commit is contained in:
parent
295071007b
commit
6322c9fbbf
1 changed files with 7 additions and 2 deletions
|
|
@ -47,15 +47,20 @@
|
|||
/* return the largest possible integer of type <ret>, with all bits set */
|
||||
#define MAX_RANGE(ret) (~(typeof(ret))0)
|
||||
|
||||
/* DEFVAL() returns either the second argument as-is, or <def> if absent. This
|
||||
* is for use in macros arguments.
|
||||
*/
|
||||
#define DEFVAL(_def,...) _FIRST_ARG(NULL, ##__VA_ARGS__, (_def))
|
||||
|
||||
/* DEFNULL() returns either the argument as-is, or NULL if absent. This is for
|
||||
* use in macros arguments.
|
||||
*/
|
||||
#define DEFNULL(...) _FIRST_ARG(NULL, ##__VA_ARGS__, NULL)
|
||||
#define DEFNULL(...) DEFVAL(NULL, ##__VA_ARGS__)
|
||||
|
||||
/* DEFZERO() returns either the argument as-is, or 0 if absent. This is for
|
||||
* use in macros arguments.
|
||||
*/
|
||||
#define DEFZERO(...) _FIRST_ARG(NULL, ##__VA_ARGS__, 0)
|
||||
#define DEFZERO(...) DEFVAL(0, ##__VA_ARGS__)
|
||||
|
||||
#define _FIRST_ARG(a, b, ...) b
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue