summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-07-26 10:54:52 +0200
committerThomas Haller <thaller@redhat.com>2017-07-31 15:13:31 +0200
commitb9fd352eca365a5f21d969bee653a6420033fb6e (patch)
treeae61fa54cdb3bd45e5dde603b6e7340825e7d066
parentc8f3cd51ac5a5accf9a952a6c0c339a4aa198558 (diff)
downloadNetworkManager-b9fd352eca365a5f21d969bee653a6420033fb6e.tar.gz
shared: move NM_CMP_*() helper macros to shared header
-rw-r--r--shared/nm-utils/nm-shared-utils.h77
-rw-r--r--src/platform/nm-platform.c75
2 files changed, 77 insertions, 75 deletions
diff --git a/shared/nm-utils/nm-shared-utils.h b/shared/nm-utils/nm-shared-utils.h
index 438a7a9e7c..8ff4c3cf05 100644
--- a/shared/nm-utils/nm-shared-utils.h
+++ b/shared/nm-utils/nm-shared-utils.h
@@ -24,6 +24,83 @@
/*****************************************************************************/
+#define NM_CMP_SELF(a, b) \
+ G_STMT_START { \
+ if ((a) == (b)) \
+ return 0; \
+ if (!(a)) \
+ return -1; \
+ if (!(b)) \
+ return 1; \
+ } G_STMT_END
+
+#define NM_CMP_DIRECT(a, b) \
+ G_STMT_START { \
+ if ((a) != (b)) \
+ return ((a) < (b)) ? -1 : 1; \
+ } G_STMT_END
+
+#define NM_CMP_DIRECT_MEMCMP(a, b, size) \
+ G_STMT_START { \
+ int c = memcmp ((a), (b), (size)); \
+ if (c != 0) \
+ return c < 0 ? -1 : 1; \
+ } G_STMT_END
+
+#define NM_CMP_FIELD(a, b, field) \
+ G_STMT_START { \
+ if (((a)->field) != ((b)->field)) \
+ return (((a)->field) < ((b)->field)) ? -1 : 1; \
+ } G_STMT_END
+
+#define NM_CMP_FIELD_BOOL(a, b, field) \
+ G_STMT_START { \
+ if ((!((a)->field)) != (!((b)->field))) \
+ return ((!((a)->field)) < (!((b)->field))) ? -1 : 1; \
+ } G_STMT_END
+
+#define NM_CMP_FIELD_STR(a, b, field) \
+ G_STMT_START { \
+ int c = strcmp ((a)->field, (b)->field); \
+ if (c != 0) \
+ return c < 0 ? -1 : 1; \
+ } G_STMT_END
+
+#define NM_CMP_FIELD_STR_INTERNED(a, b, field) \
+ G_STMT_START { \
+ if (((a)->field) != ((b)->field)) { \
+ /* just to be sure, also do a strcmp() if the pointers don't match */ \
+ int c = g_strcmp0 ((a)->field, (b)->field); \
+ if (c != 0) \
+ return c < 0 ? -1 : 1; \
+ } \
+ } G_STMT_END
+
+#define NM_CMP_FIELD_STR0(a, b, field) \
+ G_STMT_START { \
+ int c = g_strcmp0 ((a)->field, (b)->field); \
+ if (c != 0) \
+ return c < 0 ? -1 : 1; \
+ } G_STMT_END
+
+#define NM_CMP_FIELD_MEMCMP_LEN(a, b, field, len) \
+ G_STMT_START { \
+ int c = memcmp (&((a)->field), &((b)->field), \
+ MIN (len, sizeof ((a)->field))); \
+ if (c != 0) \
+ return c < 0 ? -1 : 1; \
+ } G_STMT_END
+
+#define NM_CMP_FIELD_MEMCMP(a, b, field) \
+ G_STMT_START { \
+ int c = memcmp (&((a)->field), &((b)->field), \
+ sizeof ((a)->field)); \
+ if (c != 0) \
+ return c < 0 ? -1 : 1; \
+ } G_STMT_END
+
+/*****************************************************************************/
+
extern const void *const _NM_PTRARRAY_EMPTY[1];
#define NM_PTRARRAY_EMPTY(type) ((type const*) _NM_PTRARRAY_EMPTY)
diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c
index 9412c94469..590ac101f1 100644
--- a/src/platform/nm-platform.c
+++ b/src/platform/nm-platform.c
@@ -4320,81 +4320,6 @@ nm_platform_ip6_route_to_string (const NMPlatformIP6Route *route, char *buf, gsi
return buf;
}
-#define NM_CMP_SELF(a, b) \
- G_STMT_START { \
- if ((a) == (b)) \
- return 0; \
- if (!(a)) \
- return -1; \
- if (!(b)) \
- return 1; \
- } G_STMT_END
-
-#define NM_CMP_DIRECT(a, b) \
- G_STMT_START { \
- if ((a) != (b)) \
- return ((a) < (b)) ? -1 : 1; \
- } G_STMT_END
-
-#define NM_CMP_DIRECT_MEMCMP(a, b, size) \
- G_STMT_START { \
- int c = memcmp ((a), (b), (size)); \
- if (c != 0) \
- return c < 0 ? -1 : 1; \
- } G_STMT_END
-
-#define NM_CMP_FIELD(a, b, field) \
- G_STMT_START { \
- if (((a)->field) != ((b)->field)) \
- return (((a)->field) < ((b)->field)) ? -1 : 1; \
- } G_STMT_END
-
-#define NM_CMP_FIELD_BOOL(a, b, field) \
- G_STMT_START { \
- if ((!((a)->field)) != (!((b)->field))) \
- return ((!((a)->field)) < (!((b)->field))) ? -1 : 1; \
- } G_STMT_END
-
-#define NM_CMP_FIELD_STR(a, b, field) \
- G_STMT_START { \
- int c = strcmp ((a)->field, (b)->field); \
- if (c != 0) \
- return c < 0 ? -1 : 1; \
- } G_STMT_END
-
-#define NM_CMP_FIELD_STR_INTERNED(a, b, field) \
- G_STMT_START { \
- if (((a)->field) != ((b)->field)) { \
- /* just to be sure, also do a strcmp() if the pointers don't match */ \
- int c = g_strcmp0 ((a)->field, (b)->field); \
- if (c != 0) \
- return c < 0 ? -1 : 1; \
- } \
- } G_STMT_END
-
-#define NM_CMP_FIELD_STR0(a, b, field) \
- G_STMT_START { \
- int c = g_strcmp0 ((a)->field, (b)->field); \
- if (c != 0) \
- return c < 0 ? -1 : 1; \
- } G_STMT_END
-
-#define NM_CMP_FIELD_MEMCMP_LEN(a, b, field, len) \
- G_STMT_START { \
- int c = memcmp (&((a)->field), &((b)->field), \
- MIN (len, sizeof ((a)->field))); \
- if (c != 0) \
- return c < 0 ? -1 : 1; \
- } G_STMT_END
-
-#define NM_CMP_FIELD_MEMCMP(a, b, field) \
- G_STMT_START { \
- int c = memcmp (&((a)->field), &((b)->field), \
- sizeof ((a)->field)); \
- if (c != 0) \
- return c < 0 ? -1 : 1; \
- } G_STMT_END
-
guint
nm_platform_link_hash (const NMPlatformLink *obj)
{