mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-24 11:12:11 +01:00
gstrfuncs: Cleanup has suffix/prefix macros code
This commit is contained in:
parent
548f29d671
commit
a08f8bc437
@ -145,29 +145,37 @@ GLIB_AVAILABLE_IN_ALL
|
|||||||
gboolean g_str_has_prefix (const gchar *str,
|
gboolean g_str_has_prefix (const gchar *str,
|
||||||
const gchar *prefix);
|
const gchar *prefix);
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ > 2)
|
#if G_GNUC_CHECK_VERSION (2, 0)
|
||||||
|
|
||||||
#define g_str_has_prefix(STR, PREFIX) \
|
#define g_str_has_prefix(STR, PREFIX) \
|
||||||
((STR != NULL && PREFIX != NULL && __builtin_constant_p (PREFIX)) ? G_GNUC_EXTENSION ({ \
|
(((STR) != NULL && (PREFIX) != NULL && __builtin_constant_p ((PREFIX))) ? \
|
||||||
const char *const __str = STR; \
|
G_GNUC_EXTENSION ({ \
|
||||||
const char *const __prefix = PREFIX; \
|
const char *const __str = ((STR)); \
|
||||||
|
const char *const __prefix = ((PREFIX)); \
|
||||||
const size_t __str_len = strlen (__str); \
|
const size_t __str_len = strlen (__str); \
|
||||||
const size_t __prefix_len = strlen (__prefix); \
|
const size_t __prefix_len = strlen (__prefix); \
|
||||||
(__str_len >= __prefix_len) ? memcmp (__str, __prefix, __prefix_len) == 0 : FALSE; \
|
(__str_len >= __prefix_len) ? \
|
||||||
|
(memcmp (__str, __prefix, __prefix_len) == 0) : FALSE; \
|
||||||
}) \
|
}) \
|
||||||
: (g_str_has_prefix) (STR, PREFIX))
|
: \
|
||||||
|
(g_str_has_prefix) ((STR), (PREFIX)))
|
||||||
|
|
||||||
#define g_str_has_suffix(STR, SUFFIX) \
|
#define g_str_has_suffix(STR, SUFFIX) \
|
||||||
((STR != NULL && SUFFIX != NULL && __builtin_constant_p (SUFFIX)) ? G_GNUC_EXTENSION ({ \
|
(((STR) != NULL && (SUFFIX) != NULL && __builtin_constant_p ((SUFFIX))) ? \
|
||||||
const char *const __str = STR; \
|
G_GNUC_EXTENSION ({ \
|
||||||
const char *const __suffix = SUFFIX; \
|
const char *const __str = ((STR)); \
|
||||||
|
const char *const __suffix = ((SUFFIX)); \
|
||||||
const size_t __str_len = strlen (__str); \
|
const size_t __str_len = strlen (__str); \
|
||||||
const size_t __suffix_len = strlen (__suffix); \
|
const size_t __suffix_len = strlen (__suffix); \
|
||||||
(__str_len >= __suffix_len) ? memcmp (__str + __str_len - __suffix_len, __suffix, __suffix_len) == 0 : FALSE; \
|
(__str_len >= __suffix_len) ? \
|
||||||
|
(memcmp (__str + __str_len - __suffix_len, \
|
||||||
|
__suffix, \
|
||||||
|
__suffix_len) == 0) : FALSE; \
|
||||||
}) \
|
}) \
|
||||||
: (g_str_has_suffix) (STR, SUFFIX))
|
: \
|
||||||
|
(g_str_has_suffix) ((STR), (SUFFIX)))
|
||||||
|
|
||||||
#endif
|
#endif /* G_GNUC_CHECK_VERSION (2, 0) */
|
||||||
|
|
||||||
/* String to/from double conversion functions */
|
/* String to/from double conversion functions */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user