From 39e30fdc4016337c5e41413600e337879949fac5 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 24 Nov 2024 10:55:53 -0500 Subject: Add zix_expand_environment_strings() --- src/win32/environment_win32.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/win32/environment_win32.c (limited to 'src/win32') diff --git a/src/win32/environment_win32.c b/src/win32/environment_win32.c new file mode 100644 index 0000000..e7a0ee3 --- /dev/null +++ b/src/win32/environment_win32.c @@ -0,0 +1,22 @@ +// Copyright 2012-2024 David Robillard +// SPDX-License-Identifier: ISC + +#include + +#include + +char* +zix_expand_environment_strings(ZixAllocator* const allocator, + const char* const string) +{ + const DWORD size = ExpandEnvironmentStrings(string, NULL, 0U); + if (!size) { + return NULL; + } + + char* const out = (char*)zix_calloc(allocator, 1U, size + 1U); + if (out) { + ExpandEnvironmentStrings(string, out, size + 1U); + } + return out; +} -- cgit v1.2.1