From 286995a43141dda597766eeeba9504d0148575e8 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Sun, 10 Mar 2024 18:08:47 +0200 Subject: Add the U8_ARGS() macro --- include/macros.h | 6 +++--- include/mbstring.h | 15 ++++++++------- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'include') diff --git a/include/macros.h b/include/macros.h index 24a5a5d..6adc1e4 100644 --- a/include/macros.h +++ b/include/macros.h @@ -6,9 +6,9 @@ #define lengthof(a) (sizeof(a) / sizeof(*(a))) -#define memeq(x, y, n) (!memcmp(x, y, n)) -#define streq(x, y) (!strcmp(x, y)) -#define u8eq(x, y) (!u8cmp(x, y)) +#define memeq(x, y, n) (!memcmp(x, y, n)) +#define streq(x, y) (!strcmp(x, y)) +#define u8eq(x, n, y, m) (!u8cmp(x, n, y, m)) #ifdef NDEBUG # include diff --git a/include/mbstring.h b/include/mbstring.h index 9a95836..98c8137 100644 --- a/include/mbstring.h +++ b/include/mbstring.h @@ -8,7 +8,8 @@ #include "__rune.h" #include "__u8view.h" -#define U8V(s) ((struct u8view){.p = (s), .len = sizeof(s) - 1}) +#define U8V(s) ((struct u8view){.p = (s), .len = sizeof(s) - 1}) +#define U8_ARGS(s) ((s).p), ((s).len) /* clang-format off */ #define U8_BYTE_1(x) (((x) & 0x80) == 0x00) @@ -31,10 +32,10 @@ bool u8haspfx(const char8_t *, size_t, const char8_t *, size_t); bool u8hassfx(const char8_t *, size_t, const char8_t *, size_t); char8_t *u8chk(const char8_t *, size_t); -char8_t *u8chr(const char8_t *, rune, size_t); -char8_t *u8rchr(const char8_t *, rune, size_t); -int rtou8(char8_t *, rune, size_t); -int u8cmp(struct u8view, struct u8view); +char8_t *u8chr(const char8_t *, size_t, rune); +char8_t *u8rchr(const char8_t *, size_t, rune); +int rtou8(char8_t *, size_t, rune); +int u8cmp(const char8_t *, size_t, const char8_t *, size_t); int u8next(rune *, const char8_t **, size_t *); int u8prev(rune *, const char8_t **, const char8_t *); int u8tor(rune *, const char8_t *); @@ -44,8 +45,8 @@ size_t u8spn(const char8_t *, size_t, const rune *, size_t); #if !__MLIB_NO_MACRO_WRAPPER # define u8chk(s, n) __MLIB_Q_PTR(char8_t, u8chk, (s), (s), (n)) -# define u8chr(s, ch, n) __MLIB_Q_PTR(char8_t, u8chr, (s), (s), (ch), (n)) -# define u8rchr(s, ch, n) __MLIB_Q_PTR(char8_t, u8rchr, (s), (s), (ch), (n)) +# define u8chr(s, n, ch) __MLIB_Q_PTR(char8_t, u8chr, (s), (s), (n), (ch)) +# define u8rchr(s, n, ch) __MLIB_Q_PTR(char8_t, u8rchr, (s), (s), (n), (ch)) #endif #endif /* !MLIB_MBSTRING_H */ -- cgit v1.2.3