From a08f8bc437f453cf2b388af39cd1c29987406e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Thu, 13 Oct 2022 02:05:24 +0200 Subject: [PATCH] gstrfuncs: Cleanup has suffix/prefix macros code --- glib/gstrfuncs.h | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/glib/gstrfuncs.h b/glib/gstrfuncs.h index 88c8c3cf7..ef3ac6e3a 100644 --- a/glib/gstrfuncs.h +++ b/glib/gstrfuncs.h @@ -145,29 +145,37 @@ GLIB_AVAILABLE_IN_ALL gboolean g_str_has_prefix (const gchar *str, const gchar *prefix); -#if defined(__GNUC__) && (__GNUC__ > 2) +#if G_GNUC_CHECK_VERSION (2, 0) -#define g_str_has_prefix(STR, PREFIX) \ - ((STR != NULL && PREFIX != NULL && __builtin_constant_p (PREFIX)) ? G_GNUC_EXTENSION ({ \ - const char *const __str = STR; \ - const char *const __prefix = PREFIX; \ - const size_t __str_len = strlen (__str); \ - const size_t __prefix_len = strlen (__prefix); \ - (__str_len >= __prefix_len) ? memcmp (__str, __prefix, __prefix_len) == 0 : FALSE; \ - }) \ - : (g_str_has_prefix) (STR, PREFIX)) +#define g_str_has_prefix(STR, PREFIX) \ + (((STR) != NULL && (PREFIX) != NULL && __builtin_constant_p ((PREFIX))) ? \ + G_GNUC_EXTENSION ({ \ + const char *const __str = ((STR)); \ + const char *const __prefix = ((PREFIX)); \ + const size_t __str_len = strlen (__str); \ + const size_t __prefix_len = strlen (__prefix); \ + (__str_len >= __prefix_len) ? \ + (memcmp (__str, __prefix, __prefix_len) == 0) : FALSE; \ + }) \ + : \ + (g_str_has_prefix) ((STR), (PREFIX))) -#define g_str_has_suffix(STR, SUFFIX) \ - ((STR != NULL && SUFFIX != NULL && __builtin_constant_p (SUFFIX)) ? G_GNUC_EXTENSION ({ \ - const char *const __str = STR; \ - const char *const __suffix = SUFFIX; \ - const size_t __str_len = strlen (__str); \ - const size_t __suffix_len = strlen (__suffix); \ - (__str_len >= __suffix_len) ? memcmp (__str + __str_len - __suffix_len, __suffix, __suffix_len) == 0 : FALSE; \ - }) \ - : (g_str_has_suffix) (STR, SUFFIX)) +#define g_str_has_suffix(STR, SUFFIX) \ + (((STR) != NULL && (SUFFIX) != NULL && __builtin_constant_p ((SUFFIX))) ? \ + G_GNUC_EXTENSION ({ \ + const char *const __str = ((STR)); \ + const char *const __suffix = ((SUFFIX)); \ + const size_t __str_len = strlen (__str); \ + const size_t __suffix_len = strlen (__suffix); \ + (__str_len >= __suffix_len) ? \ + (memcmp (__str + __str_len - __suffix_len, \ + __suffix, \ + __suffix_len) == 0) : FALSE; \ + }) \ + : \ + (g_str_has_suffix) ((STR), (SUFFIX))) -#endif +#endif /* G_GNUC_CHECK_VERSION (2, 0) */ /* String to/from double conversion functions */