Fix: hlist header: use parenthesis around macro parameters
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 20 Apr 2021 20:20:44 +0000 (16:20 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 22 Apr 2021 12:33:00 +0000 (08:33 -0400)
The coding style followed across liburcu is to use parenthesis around
macro parameters when it would otherwise lead to unexpected results due
to priority of operators. Fix hlist.h to follow this coding style.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I28425b620b7937f6b3a57d48d70ce097d0093e23

include/urcu/hlist.h

index 5e3c27d02025bd4445efd65606f60374d8326e88..c5ebbbecfaa2cb04ef43b22dbaa66a54847067f8 100644 (file)
@@ -46,7 +46,7 @@ void CDS_INIT_HLIST_HEAD(struct cds_hlist_head *ptr)
 /* Get typed element from list at a given position, keeping NULL pointers. */
 #define cds_hlist_entry_safe(ptr, type, member)                                        \
        ({                                                                      \
-               __typeof__(ptr) ____ret = ptr;                                  \
+               __typeof__(ptr) ____ret = (ptr);                                \
                ____ret ? cds_hlist_entry(____ret, type, member) : NULL;        \
        })
 
@@ -72,12 +72,12 @@ void cds_hlist_del(struct cds_hlist_node *elem)
 }
 
 #define cds_hlist_for_each(pos, head) \
-       for (pos = (head)->next; pos != NULL; pos = pos->next)
+       for (pos = (head)->next; (pos) != NULL; pos = (pos)->next)
 
 #define cds_hlist_for_each_safe(pos, p, head) \
        for (pos = (head)->next; \
-               (pos != NULL) && (p = pos->next, 1); \
-               pos = p)
+               ((pos) != NULL) && (p = (pos)->next, 1); \
+               pos = (p))
 
 /*
  * cds_hlist_for_each_entry and cds_hlist_for_each_entry_safe take
@@ -87,27 +87,27 @@ void cds_hlist_del(struct cds_hlist_node *elem)
  */
 #define cds_hlist_for_each_entry(entry, pos, head, member) \
        for (pos = (head)->next, \
-                       entry = cds_hlist_entry(pos, __typeof__(*entry), member); \
-               pos != NULL; \
-               pos = pos->next, \
-                       entry = cds_hlist_entry(pos, __typeof__(*entry), member))
+                       entry = cds_hlist_entry(pos, __typeof__(*(entry)), member); \
+               (pos) != NULL; \
+               pos = (pos)->next, \
+                       entry = cds_hlist_entry(pos, __typeof__(*(entry)), member))
 
 #define cds_hlist_for_each_entry_safe(entry, pos, p, head, member) \
        for (pos = (head)->next, \
-                       entry = cds_hlist_entry(pos, __typeof__(*entry), member); \
-               (pos != NULL) && (p = pos->next, 1); \
-               pos = p, \
+                       entry = cds_hlist_entry(pos, __typeof__(*(entry)), member); \
+               ((pos) != NULL) && (p = (pos)->next, 1); \
+               pos = (p), \
                        entry = cds_hlist_entry(pos, __typeof__(*entry), member))
 
 #define cds_hlist_for_each_entry_2(entry, head, member) \
-       for (entry = cds_hlist_entry_safe((head)->next, __typeof__(*entry), member); \
-               entry != NULL; \
-               entry = cds_hlist_entry_safe(entry->member.next, __typeof__(*entry), member))
+       for (entry = cds_hlist_entry_safe((head)->next, __typeof__(*(entry)), member); \
+               (entry) != NULL; \
+               entry = cds_hlist_entry_safe((entry)->member.next, __typeof__(*(entry)), member))
 
 #define cds_hlist_for_each_entry_safe_2(entry, e, head, member) \
-       for (entry = cds_hlist_entry_safe((head)->next, __typeof__(*entry), member); \
-               (entry != NULL) && (e = (cds_hlist_entry_safe(entry->member.next, \
-                                               __typeof__(*entry), member)), 1); \
+       for (entry = cds_hlist_entry_safe((head)->next, __typeof__(*(entry)), member); \
+               ((entry) != NULL) && (e = (cds_hlist_entry_safe((entry)->member.next, \
+                                               __typeof__(*(entry)), member)), 1); \
                entry = e)
 
 #endif /* _KCOMPAT_HLIST_H */
This page took 0.036527 seconds and 4 git commands to generate.