shared: add nm_streq() and nm_streq0() macro
Using strcmp() to test for string equality is a well known pattern. However the inverse logic still is still hard to grasp especially in more complex expressions. nm_streq() should is an alternative to use strcmp(). And there is a counterpart nm_streq0() which is based on g_strcmp0(). Kernel and systemd have also similar streq() macros. https://mail.gnome.org/archives/networkmanager-list/2016-February/msg00047.html
This commit is contained in:
@@ -242,6 +242,11 @@ _NM_IN_STRSET_streq (const char *x, const char *s)
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#define nm_streq(s1, s2) (strcmp (s1, s2) == 0)
|
||||||
|
#define nm_streq0(s1, s2) (g_strcmp0 (s1, s2) == 0)
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define NM_PRINT_FMT_QUOTED(cond, prefix, str, suffix, str_else) \
|
#define NM_PRINT_FMT_QUOTED(cond, prefix, str, suffix, str_else) \
|
||||||
(cond) ? (prefix) : "", \
|
(cond) ? (prefix) : "", \
|
||||||
(cond) ? (str) : (str_else), \
|
(cond) ? (str) : (str_else), \
|
||||||
|
Reference in New Issue
Block a user