From abe21ac46759ffef041e52310a17552f36ee9297 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Thu, 9 Apr 2026 09:49:33 -0400 Subject: lib: Add strscmp() for static char arrays Signed-off-by: Andrew Opalach --- include/al/wstr.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include/al/wstr.h') diff --git a/include/al/wstr.h b/include/al/wstr.h index 8af16be..e5610a2 100644 --- a/include/al/wstr.h +++ b/include/al/wstr.h @@ -12,6 +12,8 @@ typedef struct { wchar_t *__sized_by(alloc) data; } wstr; +#define AL_WIDE_CHARS_IF_LITERAL(wc) ((wchar_t *)(L"" wc L"")) // Use al_wstr_cs/r for non-static char arrays. + #define AL_WSTR_NO_POS ((u32)-1) #define al_wstr_null() ((wstr){ 0, 0, NULL }) @@ -19,8 +21,7 @@ typedef struct { #define al_wstr_at(w, index) (w)->data[index] #define al_wstr_atr(w, index) (w)->data[(w)->length - (index)] -#define al_wide_chars_if_literal(wc) ((wchar_t *)(L"" wc L"")) // use al_wstr_cs/r for non-static arrays. -#define al_wstr_c(wc) ((wstr){ (u32)((sizeof(wc) / sizeof(wchar_t)) - 1), 0, al_wide_chars_if_literal(wc) }) +#define al_wstr_c(wc) ((wstr){ (u32)((sizeof(wc) / sizeof(wchar_t)) - 1), 0, AL_WIDE_CHARS_IF_LITERAL(wc) }) #define al_wstr_cs(wc) ((wstr){ (u32)al_wcsnlen(wc, sizeof(wc) / sizeof(wchar_t)), 0, ((wchar_t *)(wc)) }) // (s)ized #define al_wstr_cr(wc) ((wstr){ (u32)al_wcsnlen(wc, MAX_ALLOC_32 / sizeof(wchar_t)), 0, ((wchar_t *)(wc)) }) // (r)untime -- cgit v1.2.3-101-g0448