Skip to content
Snippets Groups Projects
Commit b3ad3a75 authored by Luigi Rizzo's avatar Luigi Rizzo
Browse files

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
parent 574e9ae7
Branches
Tags
No related merge requests found
......@@ -35,6 +35,11 @@ static force_inline int ast_strlen_zero(const char *s)
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.
\param ast_skip_blanks function being used
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment