From 76424950e373d3b04ac3dd13019151bfba3e8423 Mon Sep 17 00:00:00 2001 From: sumuel Date: Mon, 17 Aug 2026 20:44:55 +0000 Subject: Add the files --- src/common/windows/unicode.h | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/common/windows/unicode.h (limited to 'src/common/windows/unicode.h') diff --git a/src/common/windows/unicode.h b/src/common/windows/unicode.h new file mode 100644 index 0000000..f58b425 --- /dev/null +++ b/src/common/windows/unicode.h @@ -0,0 +1,46 @@ +#pragma once + +#include "common/FFstrbuf.h" +#include + +void ffStrbufSetNWS(FFstrbuf* result, uint32_t length, const wchar_t* source); +void ffStrbufAppendNWS(FFstrbuf* result, uint32_t length, const wchar_t* source); + +static inline void ffStrbufSetWS(FFstrbuf* result, const wchar_t* source) { + if (!source) { + return ffStrbufClear(result); + } + return ffStrbufSetNWS(result, (uint32_t) wcslen(source), source); +} + +static inline void ffStrbufAppendWS(FFstrbuf* result, const wchar_t* source) { + if (!source) { + return; + } + return ffStrbufAppendNWS(result, (uint32_t) wcslen(source), source); +} + +static inline void ffStrbufInitNWS(FFstrbuf* result, uint32_t length, const wchar_t* source) { + ffStrbufInit(result); + return ffStrbufSetNWS(result, length, source); +} + +static inline void ffStrbufInitWS(FFstrbuf* result, const wchar_t* source) { + if (!source) { + return ffStrbufInit(result); + } + return ffStrbufInitNWS(result, (uint32_t) wcslen(source), source); +} + +static inline FFstrbuf ffStrbufCreateNWS(uint32_t length, const wchar_t* source) { + FFstrbuf result; + ffStrbufInitNWS(&result, length, source); + return result; +} + +static inline FFstrbuf ffStrbufCreateWS(const wchar_t* source) { + if (!source) { + return ffStrbufCreate(); + } + return ffStrbufCreateNWS((uint32_t) wcslen(source), source); +} -- cgit v1.2.3