shared: fix NM_CAST_STRV_CC() for "char **const" pointers

clang-3.4.2-9.el7.x86_64 otherwise fails:

    ../src/devices/wifi/nm-wifi-p2p-peer.c:410:44: error: controlling expression type 'const char **const' not compatible with any generic association type
        if (!nm_utils_strv_equal(priv->groups, peer_info->groups)) {
                                               ^~~~~~~~~~~~~~~~~
    ../shared/nm-glib-aux/nm-shared-utils.h:1689:78: note: expanded from macro 'nm_utils_strv_equal'
    #define nm_utils_strv_equal(strv1, strv2) (nm_utils_strv_cmp_n((strv1), -1, (strv2), -1) == 0)
                                                                                 ^
    ../shared/nm-glib-aux/nm-shared-utils.h:1687:74: note: expanded from macro 'nm_utils_strv_cmp_n'
        _nm_utils_strv_cmp_n(NM_CAST_STRV_CC(strv1), (len1), NM_CAST_STRV_CC(strv2), (len2))
                                                                             ^
    ../shared/nm-glib-aux/nm-macros-internal.h:706:21: note: expanded from macro 'NM_CAST_STRV_CC'
            (_Generic ((value), \
                        ^
This commit is contained in:
Thomas Haller 2020-10-19 21:25:08 +02:00
parent 53bd66b540
commit 8dc3f07d34
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728

View file

@ -709,7 +709,13 @@ NM_G_ERROR_MSG(GError *error)
char *const*: (const char *const*) (value), \
char * *: (const char *const*) (value), \
const void *: (const char *const*) (value), \
void *: (const char *const*) (value)))
void *: (const char *const*) (value), \
const char *const*const: (const char *const*) (value), \
const char * *const: (const char *const*) (value), \
char *const*const: (const char *const*) (value), \
char * *const: (const char *const*) (value), \
const void *const: (const char *const*) (value), \
void *const: (const char *const*) (value)))
#else
#define NM_CAST_STRV_MC(value) ((const char **) (value))
#define NM_CAST_STRV_CC(value) ((const char *const *) (value))