Reactos
1//
2// mkdir.cpp
3//
4// Copyright (c) Microsoft Corporation. All rights reserved.
5//
6// The _mkdir() function, which creates a directory.
7//
8#include <corecrt_internal.h>
9#include <direct.h>
10#include <corecrt_internal_win32_buffer.h>
11
12// Creates a directory. Returns 0 on success; returns -1 and sets errno and
13// _doserrno on failure.
14extern "C" int __cdecl _mkdir(char const* const path)
15{
16 if (path == nullptr) {
17 return _wmkdir(nullptr);
18 }
19
20 __crt_internal_win32_buffer<wchar_t> wide_path;
21
22 errno_t const cvt = __acrt_mbs_to_wcs_cp(path, wide_path, __acrt_get_utf8_acp_compatibility_codepage());
23
24 if (cvt != 0) {
25 return -1;
26 }
27
28 return _wmkdir(wide_path.data());
29}