shared: add nm_streq() and nm_streq0() macro
authorThomas Haller <thaller@redhat.com>
Fri, 12 Feb 2016 11:34:31 +0000 (12:34 +0100)
committerThomas Haller <thaller@redhat.com>
Mon, 15 Feb 2016 22:47:14 +0000 (23:47 +0100)
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

shared/nm-macros-internal.h

index f3a3124..63f5138 100644 (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) \
        (cond) ? (prefix) : "", \
        (cond) ? (str) : (str_else), \