mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 17:45:41 +00:00
[UCRT] Import Microsoft.Windows.SDK.CRTSource version 10.0.22621.3
Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3 License: MIT
This commit is contained in:
parent
f1b60c66f0
commit
04e0dc4a7a
568 changed files with 115483 additions and 0 deletions
39
sdk/lib/ucrt/filesystem/rename.cpp
Normal file
39
sdk/lib/ucrt/filesystem/rename.cpp
Normal file
|
@ -0,0 +1,39 @@
|
|||
//
|
||||
// rename.cpp
|
||||
//
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// The rename() function, which renames a file.
|
||||
//
|
||||
#include <corecrt_internal.h>
|
||||
#include <io.h>
|
||||
#include <corecrt_internal_win32_buffer.h>
|
||||
|
||||
|
||||
|
||||
// See _wrename() for details about the behavior of this function. (This
|
||||
// function simply converts the multibyte strings to wide strings and calls
|
||||
// _wrename().)
|
||||
extern "C" int __cdecl rename(char const* const old_name, char const* const new_name)
|
||||
{
|
||||
unsigned int const code_page = __acrt_get_utf8_acp_compatibility_codepage();
|
||||
|
||||
__crt_internal_win32_buffer<wchar_t> wide_old_name;
|
||||
|
||||
errno_t cvt1 = __acrt_mbs_to_wcs_cp(old_name, wide_old_name, code_page);
|
||||
if (cvt1 != 0)
|
||||
{
|
||||
errno = cvt1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
__crt_internal_win32_buffer<wchar_t> wide_new_name;
|
||||
errno_t cvt2 = __acrt_mbs_to_wcs_cp(new_name, wide_new_name, code_page);
|
||||
if (cvt2 != 0)
|
||||
{
|
||||
errno = cvt2;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return _wrename(wide_old_name.data(), wide_new_name.data());
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue