diff options
Diffstat (limited to 'tests-clar/clar_helpers.c')
-rw-r--r-- | tests-clar/clar_helpers.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/tests-clar/clar_helpers.c b/tests-clar/clar_helpers.c index c9147943..125f7855 100644 --- a/tests-clar/clar_helpers.c +++ b/tests-clar/clar_helpers.c @@ -55,22 +55,23 @@ void cl_git_rewritefile(const char *filename, const char *new_content) char *cl_getenv(const char *name) { - wchar_t *name_utf16 = gitwin_to_utf16(name); - DWORD value_len, alloc_len; + wchar_t name_utf16[GIT_WIN_PATH]; + DWORD alloc_len; wchar_t *value_utf16; char *value_utf8; - cl_assert(name_utf16); + git__utf8_to_16(name_utf16, name); alloc_len = GetEnvironmentVariableW(name_utf16, NULL, 0); if (alloc_len <= 0) return NULL; + alloc_len = GIT_WIN_PATH; cl_assert(value_utf16 = git__calloc(alloc_len, sizeof(wchar_t))); - value_len = GetEnvironmentVariableW(name_utf16, value_utf16, alloc_len); - cl_assert_equal_i(value_len, alloc_len - 1); + GetEnvironmentVariableW(name_utf16, value_utf16, alloc_len); - cl_assert(value_utf8 = gitwin_from_utf16(value_utf16)); + cl_assert(value_utf8 = git__malloc(alloc_len)); + git__utf16_to_8(value_utf8, value_utf16); git__free(value_utf16); @@ -79,17 +80,16 @@ char *cl_getenv(const char *name) int cl_setenv(const char *name, const char *value) { - wchar_t *name_utf16 = gitwin_to_utf16(name); - wchar_t *value_utf16 = value ? gitwin_to_utf16(value) : NULL; + wchar_t name_utf16[GIT_WIN_PATH]; + wchar_t value_utf16[GIT_WIN_PATH]; - cl_assert(name_utf16); - cl_assert(SetEnvironmentVariableW(name_utf16, value_utf16)); + git__utf8_to_16(name_utf16, name); - git__free(name_utf16); - git__free(value_utf16); + if (value != NULL) + git__utf8_to_16(value_utf16, value); + cl_assert(SetEnvironmentVariableW(name_utf16, value ? value_utf16 : NULL)); return 0; - } #else |