39{
40
41 if (wide_user_prefix ==
nullptr || wide_user_prefix[0] ==
L'\0')
43
44
45
46 size_t required_count = 0;
48 if (required_count == 0)
49 return;
50
51 __crt_unique_heap_ptr<char> const narrow_user_prefix(_calloc_crt_t(char, required_count));
52 if (narrow_user_prefix.get() == nullptr)
53 return;
54
56 nullptr,
57 narrow_user_prefix.get(),
58 required_count,
59 wide_user_prefix,
61
62 if (conversion_result != 0)
63 return;
64
65 return perror(narrow_user_prefix.get());
66}
#define _ERRCHECK_EINVAL_ERANGE(e)
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
_Check_return_wat_ _CRTIMP errno_t __cdecl wcstombs_s(_Out_opt_ size_t *pcchConverted, _Out_writes_bytes_to_opt_(cjDstSize, *pcchConverted) char *pmbsDst, _In_ size_t cjDstSize, _In_z_ const wchar_t *pwszSrc, _In_ size_t cjMaxCount)