Add an S_COR macro, which is similar to the existing S_OR macro,
except with an additional boolean arg. A hack such as: foo ? S_OR(bar, "baz") : "baz" becomes: S_COR(foo, bar, "baz") git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89683 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
0c96bd8c5f
commit
3db53911ba
1 changed files with 7 additions and 1 deletions
|
@ -37,7 +37,13 @@ static force_inline int ast_strlen_zero(const char *s)
|
|||
/*! \brief returns the equivalent of logic or for strings:
|
||||
* first one if not empty, otherwise second one.
|
||||
*/
|
||||
#define S_OR(a, b) (!ast_strlen_zero(a) ? (a) : (b))
|
||||
#define S_OR(a, b) (!ast_strlen_zero(a) ? (a) : (b))
|
||||
|
||||
/*! \brief returns the equivalent of logic or for strings, with an additional boolean check:
|
||||
* second one if not empty and first one is true, otherwise third one.
|
||||
* example: S_COR(usewidget, widget, "<no widget>")
|
||||
*/
|
||||
#define S_COR(a, b, c) ((a && !ast_strlen_zero(b)) ? (b) : (c))
|
||||
|
||||
/*!
|
||||
\brief Gets a pointer to the first non-whitespace character in a string.
|
||||
|
|
Reference in a new issue