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:
Thomas Haller
2016-02-12 12:34:31 +01:00
parent 6f3d7cbd22
commit dec3a7e58d

View File

@@ -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), \