Re: [PATCH 1/1] shared: add nm_streq() and nm_streq0() macro



On Fri, 2016-02-12 at 12:34 +0100, Thomas Haller wrote:
Using strcmp() to test for string equality is a well known pattern.
However the inverse logic still hurts my brain every single time,
especially in more complex expressions.

nm_streq() should be preferred over strcmp(). And there is a
counterpart
nm_streq0() which uses g_strcmp0().

Kernel and systemd have also streq() macros.

Yeah, I like this.  +1

Dan

---
 shared/nm-macros-internal.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/shared/nm-macros-internal.h b/shared/nm-macros-
internal.h
index 4b43b58..2612cff 100644
--- a/shared/nm-macros-internal.h
+++ b/shared/nm-macros-internal.h
@@ -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), \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]