mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-23 14:44:28 +00:00
as discussed on the -dev list, introduce a macro to simplify the
writing of common constructs like chan = !ast_strlen_zero(cdr->channel) ? cdr->channel : "<unknown>"; (or the if/then/else form) into chan = S_OR(cdr->channel, "<unknown>"); The name can be changed if we find a better (and not too long) one; currently, it is S as String, OR as it mimics the behaviour of the || operator, but applied to strings. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -35,6 +35,11 @@ static force_inline int ast_strlen_zero(const char *s)
|
|||||||
return (!s || (*s == '\0'));
|
return (!s || (*s == '\0'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*! \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))
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Gets a pointer to the first non-whitespace character in a string.
|
\brief Gets a pointer to the first non-whitespace character in a string.
|
||||||
\param ast_skip_blanks function being used
|
\param ast_skip_blanks function being used
|
||||||
|
Reference in New Issue
Block a user