diff options
Diffstat (limited to 'src/win32')
-rw-r--r-- | src/win32/environment_win32.c | 22 |
1 files changed, 22 insertions, 0 deletions
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 <d@drobilla.net> +// SPDX-License-Identifier: ISC + +#include <zix/environment.h> + +#include <windows.h> + +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; +} |