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
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