mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-27 21:21:50 +03:00
80d6f46d4e
Yes, you build this *inside* serenity.
6874 lines
255 KiB
Diff
6874 lines
255 KiB
Diff
diff -urp a/Source/cmCallVisualStudioMacro.cxx b/Source/cmCallVisualStudioMacro.cxx
|
|
--- a/Source/cmCallVisualStudioMacro.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmCallVisualStudioMacro.cxx 2021-02-11 18:43:33.119174973 +0330
|
|
@@ -61,7 +61,7 @@ HRESULT InstanceCallMacro(IDispatch* vsI
|
|
|
|
if (0 != vsIDE) {
|
|
DISPID dispid = (DISPID)-1;
|
|
- wchar_t execute_command[] = L"ExecuteCommand";
|
|
+ char execute_command[] = "ExecuteCommand";
|
|
OLECHAR* name = execute_command;
|
|
|
|
hr =
|
|
@@ -147,7 +147,7 @@ HRESULT GetSolutionObject(IDispatch* vsI
|
|
|
|
if (0 != vsIDE) {
|
|
DISPID dispid = (DISPID)-1;
|
|
- wchar_t solution[] = L"Solution";
|
|
+ char solution[] = "Solution";
|
|
OLECHAR* name = solution;
|
|
|
|
hr =
|
|
@@ -191,7 +191,7 @@ HRESULT GetSolutionFullName(IDispatch* v
|
|
|
|
if (0 != vsSolution) {
|
|
DISPID dispid = (DISPID)-1;
|
|
- wchar_t full_name[] = L"FullName";
|
|
+ char full_name[] = "FullName";
|
|
OLECHAR* name = full_name;
|
|
|
|
hr = vsSolution->GetIDsOfNames(IID_NULL, &name, 1, LOCALE_USER_DEFAULT,
|
|
|
|
diff -urp a/Source/cmCMakePath.cxx b/Source/cmCMakePath.cxx
|
|
--- a/Source/cmCMakePath.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmCMakePath.cxx 2021-02-12 14:39:55.144860522 +0330
|
|
@@ -123,24 +123,3 @@ void cmCMakePath::GetNativePath(std::str
|
|
|
|
path = tmp.string();
|
|
}
|
|
-void cmCMakePath::GetNativePath(std::wstring& path) const
|
|
-{
|
|
- cm::filesystem::path tmp(this->Path);
|
|
- tmp.make_preferred();
|
|
-
|
|
- path = tmp.wstring();
|
|
-
|
|
-#if defined(_WIN32)
|
|
- // Windows long filename
|
|
- static std::wstring UNC(L"\\\\?\\UNC");
|
|
- static std::wstring PREFIX(L"\\\\?\\");
|
|
-
|
|
- if (this->IsAbsolute() && path.length() > _MAX_PATH - 12) {
|
|
- if (this->HasRootName() && path[0] == L'\\') {
|
|
- path = UNC + path.substr(1);
|
|
- } else {
|
|
- path = PREFIX + path;
|
|
- }
|
|
- }
|
|
-#endif
|
|
-}
|
|
diff -urp a/Source/cmCMakePath.h b/Source/cmCMakePath.h
|
|
--- a/Source/cmCMakePath.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmCMakePath.h 2021-02-12 14:39:55.144860522 +0330
|
|
@@ -296,7 +296,7 @@ public:
|
|
|
|
// Observers
|
|
std::string String() const { return this->Path.string(); }
|
|
- std::wstring WString() const { return this->Path.wstring(); }
|
|
+ std::string WString() const { return this->Path.wstring(); }
|
|
|
|
string_type Native() const
|
|
{
|
|
@@ -312,15 +312,15 @@ public:
|
|
|
|
return path;
|
|
}
|
|
- std::wstring NativeWString() const
|
|
+ std::string NativeWString() const
|
|
{
|
|
- std::wstring path;
|
|
+ std::string path;
|
|
this->GetNativePath(path);
|
|
|
|
return path;
|
|
}
|
|
std::string GenericString() const { return this->Path.generic_string(); }
|
|
- std::wstring GenericWString() const { return this->Path.generic_wstring(); }
|
|
+ std::string GenericWString() const { return this->Path.generic_wstring(); }
|
|
|
|
// Decomposition
|
|
cmCMakePath GetRootName() const { return this->Path.root_name(); }
|
|
@@ -449,7 +449,6 @@ private:
|
|
}
|
|
|
|
void GetNativePath(std::string& path) const;
|
|
- void GetNativePath(std::wstring& path) const;
|
|
|
|
cm::filesystem::path Path;
|
|
};
|
|
diff -urp a/Source/cm_codecvt.cxx b/Source/cm_codecvt.cxx
|
|
--- a/Source/cm_codecvt.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cm_codecvt.cxx 2021-02-11 18:43:32.705835074 +0330
|
|
@@ -159,7 +159,7 @@ std::codecvt_base::result codecvt::Decod
|
|
buf[lstate.buffered] = *from_next;
|
|
|
|
// Convert the encoding.
|
|
- wchar_t wbuf[2];
|
|
+ char wbuf[2];
|
|
int wlen =
|
|
MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, buf, size, wbuf, 2);
|
|
if (wlen <= 0) {
|
|
@@ -194,7 +194,7 @@ std::codecvt_base::result codecvt::Decod
|
|
State& lstate = reinterpret_cast<State&>(state);
|
|
|
|
// Try converting the partial codepoint.
|
|
- wchar_t wbuf[2];
|
|
+ char wbuf[2];
|
|
int wlen = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, lstate.partial,
|
|
lstate.buffered, wbuf, 2);
|
|
if (wlen <= 0) {
|
|
diff -urp a/Source/cmExportCommand.cxx b/Source/cmExportCommand.cxx
|
|
--- a/Source/cmExportCommand.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmExportCommand.cxx 2021-02-11 18:43:33.069174181 +0330
|
|
@@ -316,7 +316,7 @@ static void ReportRegistryError(cmMakefi
|
|
std::ostringstream e;
|
|
e << msg << "\n"
|
|
<< " HKEY_CURRENT_USER\\" << key << "\n";
|
|
- wchar_t winmsg[1024];
|
|
+ char winmsg[1024];
|
|
if (FormatMessageW(
|
|
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, err,
|
|
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), winmsg, 1024, 0) > 0) {
|
|
@@ -339,11 +339,11 @@ static void StorePackageRegistry(cmMakef
|
|
return;
|
|
}
|
|
|
|
- std::wstring wcontent = cmsys::Encoding::ToWide(content);
|
|
+ std::string wcontent = cmsys::Encoding::ToWide(content);
|
|
err =
|
|
RegSetValueExW(hKey, cmsys::Encoding::ToWide(hash).c_str(), 0, REG_SZ,
|
|
(BYTE const*)wcontent.c_str(),
|
|
- static_cast<DWORD>(wcontent.size() + 1) * sizeof(wchar_t));
|
|
+ static_cast<DWORD>(wcontent.size() + 1) * sizeof(char));
|
|
RegCloseKey(hKey);
|
|
if (err != ERROR_SUCCESS) {
|
|
std::ostringstream msg;
|
|
diff -urp a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
|
|
--- a/Source/cmFileCommand.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmFileCommand.cxx 2021-02-12 14:39:59.851186324 +0330
|
|
@@ -80,7 +80,7 @@ std::string fix_file_url_windows(const s
|
|
{
|
|
std::string ret = url;
|
|
if (strncmp(url.c_str(), "file://", 7) == 0) {
|
|
- std::wstring wurl = cmsys::Encoding::ToWide(url);
|
|
+ std::string wurl = cmsys::Encoding::ToWide(url);
|
|
if (!wurl.empty()) {
|
|
int mblen =
|
|
WideCharToMultiByte(CP_ACP, 0, wurl.c_str(), -1, NULL, 0, NULL, NULL);
|
|
diff -urp a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
|
|
--- a/Source/cmFindPackageCommand.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmFindPackageCommand.cxx 2021-02-11 18:43:32.892504710 +0330
|
|
@@ -1514,15 +1514,15 @@ void cmFindPackageCommand::LoadPackageRe
|
|
void cmFindPackageCommand::LoadPackageRegistryWin(bool user, unsigned int view,
|
|
cmSearchPath& outPaths)
|
|
{
|
|
- std::wstring key = L"Software\\Kitware\\CMake\\Packages\\";
|
|
+ std::string key = "Software\\Kitware\\CMake\\Packages\\";
|
|
key += cmsys::Encoding::ToWide(this->Name);
|
|
- std::set<std::wstring> bad;
|
|
+ std::set<std::string> bad;
|
|
HKEY hKey;
|
|
if (RegOpenKeyExW(user ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE, key.c_str(),
|
|
0, KEY_QUERY_VALUE | view, &hKey) == ERROR_SUCCESS) {
|
|
DWORD valueType = REG_NONE;
|
|
- wchar_t name[16383]; // RegEnumValue docs limit name to 32767 _bytes_
|
|
- std::vector<wchar_t> data(512);
|
|
+ char name[16383]; // RegEnumValue docs limit name to 32767 _bytes_
|
|
+ std::vector<char> data(512);
|
|
bool done = false;
|
|
DWORD index = 0;
|
|
while (!done) {
|
|
@@ -1557,7 +1557,7 @@ void cmFindPackageCommand::LoadPackageRe
|
|
if (user && !bad.empty() &&
|
|
RegOpenKeyExW(HKEY_CURRENT_USER, key.c_str(), 0, KEY_SET_VALUE | view,
|
|
&hKey) == ERROR_SUCCESS) {
|
|
- for (std::wstring const& v : bad) {
|
|
+ for (std::string const& v : bad) {
|
|
RegDeleteValueW(hKey, v.c_str());
|
|
}
|
|
RegCloseKey(hKey);
|
|
diff -urp a/Source/cmGccDepfileLexerHelper.cxx b/Source/cmGccDepfileLexerHelper.cxx
|
|
--- a/Source/cmGccDepfileLexerHelper.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmGccDepfileLexerHelper.cxx 2021-02-11 18:43:33.049173864 +0330
|
|
@@ -18,8 +18,8 @@
|
|
bool cmGccDepfileLexerHelper::readFile(const char* filePath)
|
|
{
|
|
#ifdef _WIN32
|
|
- wchar_t* wpath = cmsysEncoding_DupToWide(filePath);
|
|
- FILE* file = _wfopen(wpath, L"rb");
|
|
+ char* wpath = cmsysEncoding_DupToWide(filePath);
|
|
+ FILE* file = _wfopen(wpath, "rb");
|
|
free(wpath);
|
|
#else
|
|
FILE* file = fopen(filePath, "r");
|
|
diff -urp a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx
|
|
--- a/Source/cmGlobalVisualStudio8Generator.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmGlobalVisualStudio8Generator.cxx 2021-02-11 18:43:32.972505982 +0330
|
|
@@ -380,10 +380,10 @@ static cmVS7FlagTable cmVS8ExtraFlagTabl
|
|
{ "EnablePREfast", "analyze-", "", "false", 0 },
|
|
|
|
// Language options
|
|
- { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "wchar_t is a built-in type",
|
|
+ { "TreatWChar_tAsBuiltInType", "Zc:char", "char is a built-in type",
|
|
"true", 0 },
|
|
- { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-",
|
|
- "wchar_t is not a built-in type", "false", 0 },
|
|
+ { "TreatWChar_tAsBuiltInType", "Zc:char-",
|
|
+ "char is not a built-in type", "false", 0 },
|
|
|
|
{ "", "", "", "", 0 }
|
|
};
|
|
diff -urp a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
|
|
--- a/Source/cmGlobalVisualStudioGenerator.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmGlobalVisualStudioGenerator.cxx 2021-02-11 18:43:33.135841903 +0330
|
|
@@ -552,9 +552,9 @@ bool IsVisualStudioMacrosFileRegistered(
|
|
0, KEY_READ, &hkey);
|
|
if (ERROR_SUCCESS == result) {
|
|
// Iterate the subkeys and look for the values of interest in each subkey:
|
|
- wchar_t subkeyname[256];
|
|
+ char subkeyname[256];
|
|
DWORD cch_subkeyname = cm::size(subkeyname);
|
|
- wchar_t keyclass[256];
|
|
+ char keyclass[256];
|
|
DWORD cch_keyclass = cm::size(keyclass);
|
|
FILETIME lastWriteTime;
|
|
lastWriteTime.dwHighDateTime = 0;
|
|
@@ -568,19 +568,19 @@ bool IsVisualStudioMacrosFileRegistered(
|
|
result = RegOpenKeyExW(hkey, subkeyname, 0, KEY_READ, &hsubkey);
|
|
if (ERROR_SUCCESS == result) {
|
|
DWORD valueType = REG_SZ;
|
|
- wchar_t data1[256];
|
|
+ char data1[256];
|
|
DWORD cch_data1 = sizeof(data1);
|
|
- RegQueryValueExW(hsubkey, L"Path", 0, &valueType, (LPBYTE)data1,
|
|
+ RegQueryValueExW(hsubkey, "Path", 0, &valueType, (LPBYTE)data1,
|
|
&cch_data1);
|
|
|
|
DWORD data2 = 0;
|
|
DWORD cch_data2 = sizeof(data2);
|
|
- RegQueryValueExW(hsubkey, L"Security", 0, &valueType, (LPBYTE)&data2,
|
|
+ RegQueryValueExW(hsubkey, "Security", 0, &valueType, (LPBYTE)&data2,
|
|
&cch_data2);
|
|
|
|
DWORD data3 = 0;
|
|
DWORD cch_data3 = sizeof(data3);
|
|
- RegQueryValueExW(hsubkey, L"StorageFormat", 0, &valueType,
|
|
+ RegQueryValueExW(hsubkey, "StorageFormat", 0, &valueType,
|
|
(LPBYTE)&data3, &cch_data3);
|
|
|
|
s2 = cmSystemTools::LowerCase(cmsys::Encoding::ToNarrow(data1));
|
|
@@ -643,18 +643,18 @@ bool IsVisualStudioMacrosFileRegistered(
|
|
0, KEY_READ, &hkey);
|
|
if (ERROR_SUCCESS == result) {
|
|
DWORD valueType = REG_SZ;
|
|
- wchar_t data1[256];
|
|
+ char data1[256];
|
|
DWORD cch_data1 = sizeof(data1);
|
|
- RegQueryValueExW(hkey, L"Path", 0, &valueType, (LPBYTE)data1, &cch_data1);
|
|
+ RegQueryValueExW(hkey, "Path", 0, &valueType, (LPBYTE)data1, &cch_data1);
|
|
|
|
DWORD data2 = 0;
|
|
DWORD cch_data2 = sizeof(data2);
|
|
- RegQueryValueExW(hkey, L"Security", 0, &valueType, (LPBYTE)&data2,
|
|
+ RegQueryValueExW(hkey, "Security", 0, &valueType, (LPBYTE)&data2,
|
|
&cch_data2);
|
|
|
|
DWORD data3 = 0;
|
|
DWORD cch_data3 = sizeof(data3);
|
|
- RegQueryValueExW(hkey, L"StorageFormat", 0, &valueType, (LPBYTE)&data3,
|
|
+ RegQueryValueExW(hkey, "StorageFormat", 0, &valueType, (LPBYTE)&data3,
|
|
&cch_data3);
|
|
|
|
s2 = cmSystemTools::LowerCase(cmsys::Encoding::ToNarrow(data1));
|
|
@@ -690,7 +690,7 @@ void WriteVSMacrosFileRegistryEntry(cons
|
|
if (ERROR_SUCCESS == result) {
|
|
// Create the subkey and set the values of interest:
|
|
HKEY hsubkey = NULL;
|
|
- wchar_t lpClass[] = L"";
|
|
+ char lpClass[] = "";
|
|
result = RegCreateKeyExW(
|
|
hkey, cmsys::Encoding::ToWide(nextAvailableSubKeyName).c_str(), 0,
|
|
lpClass, 0, KEY_READ | KEY_WRITE, 0, &hsubkey, 0);
|
|
@@ -699,11 +699,11 @@ void WriteVSMacrosFileRegistryEntry(cons
|
|
|
|
std::string s(macrosFile);
|
|
std::replace(s.begin(), s.end(), '/', '\\');
|
|
- std::wstring ws = cmsys::Encoding::ToWide(s);
|
|
+ std::string ws = cmsys::Encoding::ToWide(s);
|
|
|
|
result =
|
|
- RegSetValueExW(hsubkey, L"Path", 0, REG_SZ, (LPBYTE)ws.c_str(),
|
|
- static_cast<DWORD>(ws.size() + 1) * sizeof(wchar_t));
|
|
+ RegSetValueExW(hsubkey, "Path", 0, REG_SZ, (LPBYTE)ws.c_str(),
|
|
+ static_cast<DWORD>(ws.size() + 1) * sizeof(char));
|
|
if (ERROR_SUCCESS != result) {
|
|
std::cout << "error result 1: " << result << std::endl;
|
|
std::cout << std::endl;
|
|
@@ -712,7 +712,7 @@ void WriteVSMacrosFileRegistryEntry(cons
|
|
// Security value is always "1" for sample macros files (seems to be "2"
|
|
// if you put the file somewhere outside the standard VSMacros folder)
|
|
dw = 1;
|
|
- result = RegSetValueExW(hsubkey, L"Security", 0, REG_DWORD, (LPBYTE)&dw,
|
|
+ result = RegSetValueExW(hsubkey, "Security", 0, REG_DWORD, (LPBYTE)&dw,
|
|
sizeof(DWORD));
|
|
if (ERROR_SUCCESS != result) {
|
|
std::cout << "error result 2: " << result << std::endl;
|
|
@@ -721,7 +721,7 @@ void WriteVSMacrosFileRegistryEntry(cons
|
|
|
|
// StorageFormat value is always "0" for sample macros files
|
|
dw = 0;
|
|
- result = RegSetValueExW(hsubkey, L"StorageFormat", 0, REG_DWORD,
|
|
+ result = RegSetValueExW(hsubkey, "StorageFormat", 0, REG_DWORD,
|
|
(LPBYTE)&dw, sizeof(DWORD));
|
|
if (ERROR_SUCCESS != result) {
|
|
std::cout << "error result 3: " << result << std::endl;
|
|
diff -urp a/Source/cmProcessOutput.cxx b/Source/cmProcessOutput.cxx
|
|
--- a/Source/cmProcessOutput.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmProcessOutput.cxx 2021-02-11 18:43:32.995839686 +0330
|
|
@@ -91,7 +91,7 @@ bool cmProcessOutput::DecodeText(std::st
|
|
} else {
|
|
bool restoreDecoded = false;
|
|
std::string firstDecoded = decoded;
|
|
- wchar_t lastChar = 0;
|
|
+ char lastChar = 0;
|
|
for (UINT i = 0; i < cpinfo.MaxCharSize; i++) {
|
|
success = DoDecodeText(raw, decoded, &lastChar);
|
|
if (success && lastChar != 0) {
|
|
@@ -141,12 +141,12 @@ bool cmProcessOutput::DecodeText(std::ve
|
|
|
|
#if defined(_WIN32)
|
|
bool cmProcessOutput::DoDecodeText(std::string raw, std::string& decoded,
|
|
- wchar_t* lastChar)
|
|
+ char* lastChar)
|
|
{
|
|
bool success = false;
|
|
const int wlength =
|
|
MultiByteToWideChar(codepage, 0, raw.c_str(), int(raw.size()), NULL, 0);
|
|
- auto wdata = cm::make_unique<wchar_t[]>(wlength);
|
|
+ auto wdata = cm::make_unique<char[]>(wlength);
|
|
int r = MultiByteToWideChar(codepage, 0, raw.c_str(), int(raw.size()),
|
|
wdata.get(), wlength);
|
|
if (r > 0) {
|
|
diff -urp a/Source/cmProcessOutput.h b/Source/cmProcessOutput.h
|
|
--- a/Source/cmProcessOutput.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmProcessOutput.h 2021-02-11 18:43:33.152508833 +0330
|
|
@@ -80,6 +80,6 @@ private:
|
|
unsigned int codepage;
|
|
unsigned int bufferSize;
|
|
std::vector<std::string> rawparts;
|
|
- bool DoDecodeText(std::string raw, std::string& decoded, wchar_t* lastChar);
|
|
+ bool DoDecodeText(std::string raw, std::string& decoded, char* lastChar);
|
|
#endif
|
|
};
|
|
diff -urp a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
|
|
--- a/Source/cmSystemTools.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmSystemTools.cxx 2021-02-11 18:43:33.025840162 +0330
|
|
@@ -128,7 +128,7 @@ static int cm_archive_read_open_file(str
|
|
int block_size)
|
|
{
|
|
# if cmsys_STL_HAS_WSTRING
|
|
- std::wstring wfile = cmsys::Encoding::ToWide(file);
|
|
+ std::string wfile = cmsys::Encoding::ToWide(file);
|
|
return archive_read_open_filename_w(a, wfile.c_str(), block_size);
|
|
# else
|
|
return archive_read_open_filename(a, file, block_size);
|
|
@@ -759,7 +759,7 @@ namespace {
|
|
class SaveRestoreFileAttributes
|
|
{
|
|
public:
|
|
- SaveRestoreFileAttributes(std::wstring const& path,
|
|
+ SaveRestoreFileAttributes(std::string const& path,
|
|
uint32_t file_attrs_to_set);
|
|
~SaveRestoreFileAttributes();
|
|
|
|
@@ -767,15 +767,15 @@ public:
|
|
SaveRestoreFileAttributes& operator=(SaveRestoreFileAttributes const&) =
|
|
delete;
|
|
|
|
- void SetPath(std::wstring const& path) { path_ = path; }
|
|
+ void SetPath(std::string const& path) { path_ = path; }
|
|
|
|
private:
|
|
- std::wstring path_;
|
|
+ std::string path_;
|
|
uint32_t original_attr_bits_;
|
|
};
|
|
|
|
SaveRestoreFileAttributes::SaveRestoreFileAttributes(
|
|
- std::wstring const& path, uint32_t file_attrs_to_set)
|
|
+ std::string const& path, uint32_t file_attrs_to_set)
|
|
: path_(path)
|
|
, original_attr_bits_(0)
|
|
{
|
|
@@ -809,14 +809,14 @@ struct WindowsFileRetryInit
|
|
bool Explicit;
|
|
};
|
|
|
|
-WindowsFileRetryInit InitWindowsFileRetry(wchar_t const* const values[2],
|
|
+WindowsFileRetryInit InitWindowsFileRetry(char const* const values[2],
|
|
unsigned int const defaults[2])
|
|
{
|
|
unsigned int data[2] = { 0, 0 };
|
|
HKEY const keys[2] = { HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE };
|
|
for (int k = 0; k < 2; ++k) {
|
|
HKEY hKey;
|
|
- if (RegOpenKeyExW(keys[k], L"Software\\Kitware\\CMake\\Config", 0,
|
|
+ if (RegOpenKeyExW(keys[k], "Software\\Kitware\\CMake\\Config", 0,
|
|
KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) {
|
|
for (int v = 0; v < 2; ++v) {
|
|
DWORD dwData, dwType, dwSize = 4;
|
|
@@ -839,16 +839,16 @@ WindowsFileRetryInit InitWindowsFileRetr
|
|
|
|
WindowsFileRetryInit InitWindowsFileRetry()
|
|
{
|
|
- static wchar_t const* const values[2] = { L"FilesystemRetryCount",
|
|
- L"FilesystemRetryDelay" };
|
|
+ static char const* const values[2] = { "FilesystemRetryCount",
|
|
+ "FilesystemRetryDelay" };
|
|
static unsigned int const defaults[2] = { 5, 500 };
|
|
return InitWindowsFileRetry(values, defaults);
|
|
}
|
|
|
|
WindowsFileRetryInit InitWindowsDirectoryRetry()
|
|
{
|
|
- static wchar_t const* const values[2] = { L"FilesystemDirectoryRetryCount",
|
|
- L"FilesystemDirectoryRetryDelay" };
|
|
+ static char const* const values[2] = { "FilesystemDirectoryRetryCount",
|
|
+ "FilesystemDirectoryRetryDelay" };
|
|
static unsigned int const defaults[2] = { 120, 500 };
|
|
WindowsFileRetryInit dirInit = InitWindowsFileRetry(values, defaults);
|
|
if (dirInit.Explicit) {
|
|
@@ -861,7 +861,7 @@ WindowsFileRetryInit InitWindowsDirector
|
|
return dirInit;
|
|
}
|
|
|
|
-cmSystemTools::WindowsFileRetry GetWindowsRetry(std::wstring const& path)
|
|
+cmSystemTools::WindowsFileRetry GetWindowsRetry(std::string const& path)
|
|
{
|
|
// If we are performing a directory operation, then try and get the
|
|
// appropriate timing info.
|
|
@@ -946,7 +946,7 @@ void cmSystemTools::InitializeLibUV()
|
|
|
|
#ifdef _WIN32
|
|
namespace {
|
|
-bool cmMoveFile(std::wstring const& oldname, std::wstring const& newname)
|
|
+bool cmMoveFile(std::string const& oldname, std::string const& newname)
|
|
{
|
|
// Not only ignore any previous error, but clear any memory of it.
|
|
SetLastError(0);
|
|
@@ -965,9 +965,9 @@ bool cmSystemTools::RenameFile(const std
|
|
# ifndef INVALID_FILE_ATTRIBUTES
|
|
# define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
|
|
# endif
|
|
- std::wstring const oldname_wstr =
|
|
+ std::string const oldname_wstr =
|
|
SystemTools::ConvertToWindowsExtendedPath(oldname);
|
|
- std::wstring const newname_wstr =
|
|
+ std::string const newname_wstr =
|
|
SystemTools::ConvertToWindowsExtendedPath(newname);
|
|
|
|
/* Windows MoveFileEx may not replace read-only or in-use files. If it
|
|
@@ -2082,7 +2082,7 @@ void cmSystemTools::FindCMakeResources(c
|
|
std::string exe_dir;
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
(void)argv0; // ignore this on windows
|
|
- wchar_t modulepath[_MAX_PATH];
|
|
+ char modulepath[_MAX_PATH];
|
|
::GetModuleFileNameW(NULL, modulepath, sizeof(modulepath));
|
|
std::string path = cmsys::Encoding::ToNarrow(modulepath);
|
|
std::string realPath =
|
|
diff -urp a/Source/cmVSSetupHelper.cxx b/Source/cmVSSetupHelper.cxx
|
|
--- a/Source/cmVSSetupHelper.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmVSSetupHelper.cxx 2021-02-12 14:39:59.854519416 +0330
|
|
@@ -47,10 +47,10 @@ const CLSID CLSID_SetupConfiguration = {
|
|
#endif
|
|
|
|
const WCHAR* Win10SDKComponent =
|
|
- L"Microsoft.VisualStudio.Component.Windows10SDK";
|
|
+ "Microsoft.VisualStudio.Component.Windows10SDK";
|
|
const WCHAR* Win81SDKComponent =
|
|
- L"Microsoft.VisualStudio.Component.Windows81SDK";
|
|
-const WCHAR* ComponentType = L"Component";
|
|
+ "Microsoft.VisualStudio.Component.Windows81SDK";
|
|
+const WCHAR* ComponentType = "Component";
|
|
|
|
std::string VSInstanceInfo::GetInstallLocation() const
|
|
{
|
|
@@ -124,13 +124,13 @@ bool cmVSSetupAPIHelper::CheckInstalledC
|
|
return ret;
|
|
}
|
|
|
|
- std::wstring id = std::wstring(bstrId);
|
|
- std::wstring type = std::wstring(bstrType);
|
|
+ std::string id = std::string(bstrId);
|
|
+ std::string type = std::string(bstrType);
|
|
|
|
// Checks for any version of Win10 SDK. The version is appended at the end of
|
|
// the
|
|
// component name ex: Microsoft.VisualStudio.Component.Windows10SDK.10240
|
|
- if (id.find(Win10SDKComponent) != std::wstring::npos &&
|
|
+ if (id.find(Win10SDKComponent) != std::string::npos &&
|
|
type.compare(ComponentType) == 0) {
|
|
bWin10SDK = true;
|
|
ret = true;
|
|
@@ -154,7 +154,7 @@ bool cmVSSetupAPIHelper::GetVSInstanceIn
|
|
|
|
SmartBSTR bstrId;
|
|
if (SUCCEEDED(pInstance->GetInstanceId(&bstrId))) {
|
|
- vsInstanceInfo.InstanceId = std::wstring(bstrId);
|
|
+ vsInstanceInfo.InstanceId = std::string(bstrId);
|
|
} else {
|
|
return false;
|
|
}
|
|
@@ -169,7 +169,7 @@ bool cmVSSetupAPIHelper::GetVSInstanceIn
|
|
if (FAILED(pInstance->GetInstallationVersion(&bstrVersion))) {
|
|
return false;
|
|
} else {
|
|
- vsInstanceInfo.Version = std::wstring(bstrVersion);
|
|
+ vsInstanceInfo.Version = std::string(bstrVersion);
|
|
if (FAILED(setupHelper->ParseVersion(bstrVersion, &ullVersion))) {
|
|
vsInstanceInfo.ullVersion = 0;
|
|
} else {
|
|
@@ -183,7 +183,7 @@ bool cmVSSetupAPIHelper::GetVSInstanceIn
|
|
if (FAILED(pInstance->GetInstallationPath(&bstrInstallationPath))) {
|
|
return false;
|
|
} else {
|
|
- vsInstanceInfo.VSInstallLocation = std::wstring(bstrInstallationPath);
|
|
+ vsInstanceInfo.VSInstallLocation = std::string(bstrInstallationPath);
|
|
}
|
|
}
|
|
|
|
@@ -300,7 +300,7 @@ bool cmVSSetupAPIHelper::IsEWDKEnabled()
|
|
bool cmVSSetupAPIHelper::EnumerateAndChooseVSInstance()
|
|
{
|
|
bool isVSInstanceExists = false;
|
|
- if (chosenInstanceInfo.VSInstallLocation.compare(L"") != 0) {
|
|
+ if (chosenInstanceInfo.VSInstallLocation.compare("") != 0) {
|
|
return true;
|
|
}
|
|
|
|
@@ -314,9 +314,9 @@ bool cmVSSetupAPIHelper::EnumerateAndCho
|
|
return false;
|
|
|
|
chosenInstanceInfo.VSInstallLocation =
|
|
- std::wstring(envVsInstallDir.begin(), envVsInstallDir.end());
|
|
+ std::string(envVsInstallDir.begin(), envVsInstallDir.end());
|
|
chosenInstanceInfo.Version =
|
|
- std::wstring(envVSVersion.begin(), envVSVersion.end());
|
|
+ std::string(envVSVersion.begin(), envVSVersion.end());
|
|
chosenInstanceInfo.VCToolsetVersion = envVSVersion;
|
|
chosenInstanceInfo.ullVersion = std::stoi(envVSVersion);
|
|
chosenInstanceInfo.IsWin10SDKInstalled = true;
|
|
@@ -345,7 +345,7 @@ bool cmVSSetupAPIHelper::EnumerateAndCho
|
|
return false;
|
|
}
|
|
|
|
- std::wstring const wantVersion = std::to_wstring(this->Version) + L'.';
|
|
+ std::string const wantVersion = std::to_wstring(this->Version) + L'.';
|
|
|
|
SmartCOMPtr<ISetupInstance> instance;
|
|
while (SUCCEEDED(enumInstances->Next(1, &instance, NULL)) && instance) {
|
|
diff -urp a/Source/cmVSSetupHelper.h b/Source/cmVSSetupHelper.h
|
|
--- a/Source/cmVSSetupHelper.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/cmVSSetupHelper.h 2021-02-11 18:43:33.159175606 +0330
|
|
@@ -84,9 +84,9 @@ private:
|
|
|
|
struct VSInstanceInfo
|
|
{
|
|
- std::wstring InstanceId;
|
|
- std::wstring VSInstallLocation;
|
|
- std::wstring Version;
|
|
+ std::string InstanceId;
|
|
+ std::string VSInstallLocation;
|
|
+ std::string Version;
|
|
std::string VCToolsetVersion;
|
|
ULONGLONG ullVersion = 0;
|
|
bool IsWin10SDKInstalled = false;
|
|
diff -urp a/Source/CPack/WiX/cmCPackWIXGenerator.cxx b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
|
|
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx 2021-02-11 18:43:33.145842061 +0330
|
|
@@ -1008,7 +1008,7 @@ std::string cmCPackWIXGenerator::Generat
|
|
UuidToStringW(&guid, &tmp);
|
|
|
|
std::string result =
|
|
- cmsys::Encoding::ToNarrow(reinterpret_cast<wchar_t*>(tmp));
|
|
+ cmsys::Encoding::ToNarrow(reinterpret_cast<char*>(tmp));
|
|
RpcStringFreeW(&tmp);
|
|
#else
|
|
uuid_t guid;
|
|
diff -urp a/Source/kwsys/ConsoleBuf.hxx.in b/Source/kwsys/ConsoleBuf.hxx.in
|
|
--- a/Source/kwsys/ConsoleBuf.hxx.in 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/ConsoleBuf.hxx.in 2021-02-11 18:43:32.755835869 +0330
|
|
@@ -111,7 +111,7 @@ protected:
|
|
success = false;
|
|
}
|
|
if (m_hOutput && !m_obuffer.empty()) {
|
|
- const std::wstring wbuffer = getBuffer(m_obuffer);
|
|
+ const std::string wbuffer = getBuffer(m_obuffer);
|
|
if (m_isConsoleOutput) {
|
|
DWORD charsWritten;
|
|
success =
|
|
@@ -149,7 +149,7 @@ protected:
|
|
if (m_isConsoleInput) {
|
|
// ReadConsole doesn't tell if there's more input available
|
|
// don't support reading more characters than this
|
|
- wchar_t wbuffer[8192];
|
|
+ char wbuffer[8192];
|
|
DWORD charsRead;
|
|
if (ReadConsoleW(m_hInput, wbuffer,
|
|
(sizeof(wbuffer) / sizeof(wbuffer[0])), &charsRead,
|
|
@@ -158,9 +158,9 @@ protected:
|
|
_setg(true);
|
|
return Traits::eof();
|
|
}
|
|
- setBuffer(std::wstring(wbuffer, charsRead), m_ibuffer);
|
|
+ setBuffer(std::string(wbuffer, charsRead), m_ibuffer);
|
|
} else {
|
|
- std::wstring wbuffer;
|
|
+ std::string wbuffer;
|
|
std::string strbuffer;
|
|
DWORD bytesRead;
|
|
LARGE_INTEGER size;
|
|
@@ -320,7 +320,7 @@ private:
|
|
this->setp((char_type*)m_obuffer.data(),
|
|
(char_type*)m_obuffer.data() + m_obuffer.size());
|
|
}
|
|
- bool encodeOutputBuffer(const std::wstring wbuffer, std::string& buffer)
|
|
+ bool encodeOutputBuffer(const std::string wbuffer, std::string& buffer)
|
|
{
|
|
if (wbuffer.size() == 0) {
|
|
buffer = std::string();
|
|
@@ -340,11 +340,11 @@ private:
|
|
delete[] buf;
|
|
return success;
|
|
}
|
|
- bool decodeInputBuffer(const std::string buffer, std::wstring& wbuffer)
|
|
+ bool decodeInputBuffer(const std::string buffer, std::string& wbuffer)
|
|
{
|
|
size_t length = buffer.length();
|
|
if (length == 0) {
|
|
- wbuffer = std::wstring();
|
|
+ wbuffer = std::string();
|
|
return true;
|
|
}
|
|
int actualCodepage = m_activeInputCodepage;
|
|
@@ -359,30 +359,30 @@ private:
|
|
}
|
|
const size_t wlength = static_cast<size_t>(MultiByteToWideChar(
|
|
actualCodepage, 0, data, static_cast<int>(length), nullptr, 0));
|
|
- wchar_t* wbuf = new wchar_t[wlength];
|
|
+ char* wbuf = new char[wlength];
|
|
const bool success =
|
|
MultiByteToWideChar(actualCodepage, 0, data, static_cast<int>(length),
|
|
wbuf, static_cast<int>(wlength)) > 0
|
|
? true
|
|
: false;
|
|
- wbuffer = std::wstring(wbuf, wlength);
|
|
+ wbuffer = std::string(wbuf, wlength);
|
|
delete[] wbuf;
|
|
return success;
|
|
}
|
|
- std::wstring getBuffer(const std::basic_string<char> buffer)
|
|
+ std::string getBuffer(const std::basic_string<char> buffer)
|
|
{
|
|
return Encoding::ToWide(buffer);
|
|
}
|
|
- std::wstring getBuffer(const std::basic_string<wchar_t> buffer)
|
|
+ std::string getBuffer(const std::basic_string<char> buffer)
|
|
{
|
|
return buffer;
|
|
}
|
|
- void setBuffer(const std::wstring wbuffer, std::basic_string<char>& target)
|
|
+ void setBuffer(const std::string wbuffer, std::basic_string<char>& target)
|
|
{
|
|
target = Encoding::ToNarrow(wbuffer);
|
|
}
|
|
- void setBuffer(const std::wstring wbuffer,
|
|
- std::basic_string<wchar_t>& target)
|
|
+ void setBuffer(const std::string wbuffer,
|
|
+ std::basic_string<char>& target)
|
|
{
|
|
target = wbuffer;
|
|
}
|
|
@@ -390,7 +390,7 @@ private:
|
|
}; // BasicConsoleBuf class
|
|
|
|
typedef BasicConsoleBuf<char> ConsoleBuf;
|
|
-typedef BasicConsoleBuf<wchar_t> WConsoleBuf;
|
|
+typedef BasicConsoleBuf<char> WConsoleBuf;
|
|
|
|
#endif
|
|
} // KWSYS_NAMESPACE
|
|
diff -urp a/Source/kwsys/Directory.cxx b/Source/kwsys/Directory.cxx
|
|
--- a/Source/kwsys/Directory.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/Directory.cxx 2021-02-11 18:43:32.782502961 +0330
|
|
@@ -117,7 +117,7 @@ bool Directory::Load(const std::string&
|
|
|
|
// Now put them into the file array
|
|
srchHandle =
|
|
- _wfindfirst((wchar_t*)Encoding::ToWindowsExtendedPath(buf).c_str(), &data);
|
|
+ _wfindfirst((char*)Encoding::ToWindowsExtendedPath(buf).c_str(), &data);
|
|
delete[] buf;
|
|
|
|
if (srchHandle == -1) {
|
|
@@ -148,7 +148,7 @@ unsigned long Directory::GetNumberOfFile
|
|
struct _wfinddata_t data; // data of current file
|
|
|
|
// Now put them into the file array
|
|
- srchHandle = _wfindfirst((wchar_t*)Encoding::ToWide(buf).c_str(), &data);
|
|
+ srchHandle = _wfindfirst((char*)Encoding::ToWide(buf).c_str(), &data);
|
|
delete[] buf;
|
|
|
|
if (srchHandle == -1) {
|
|
diff -urp a/Source/kwsys/DynamicLoader.cxx b/Source/kwsys/DynamicLoader.cxx
|
|
--- a/Source/kwsys/DynamicLoader.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/DynamicLoader.cxx 2021-02-11 18:43:32.762502643 +0330
|
|
@@ -263,7 +263,7 @@ DynamicLoader::SymbolPointer DynamicLoad
|
|
|
|
const char* DynamicLoader::LastError()
|
|
{
|
|
- wchar_t lpMsgBuf[DYNLOAD_ERROR_BUFFER_SIZE + 1];
|
|
+ char lpMsgBuf[DYNLOAD_ERROR_BUFFER_SIZE + 1];
|
|
|
|
DWORD error = GetLastError();
|
|
DWORD length = FormatMessageW(
|
|
diff -urp a/Source/kwsys/EncodingC.c b/Source/kwsys/EncodingC.c
|
|
--- a/Source/kwsys/EncodingC.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/EncodingC.c 2021-02-11 18:43:32.749169097 +0330
|
|
@@ -15,7 +15,7 @@
|
|
# include <windows.h>
|
|
#endif
|
|
|
|
-size_t kwsysEncoding_mbstowcs(wchar_t* dest, const char* str, size_t n)
|
|
+size_t kwsysEncoding_mbstowcs(char* dest, const char* str, size_t n)
|
|
{
|
|
if (str == 0) {
|
|
return (size_t)-1;
|
|
@@ -29,12 +29,12 @@ size_t kwsysEncoding_mbstowcs(wchar_t* d
|
|
#endif
|
|
}
|
|
|
|
-wchar_t* kwsysEncoding_DupToWide(const char* str)
|
|
+char* kwsysEncoding_DupToWide(const char* str)
|
|
{
|
|
- wchar_t* ret = NULL;
|
|
+ char* ret = NULL;
|
|
size_t length = kwsysEncoding_mbstowcs(NULL, str, 0) + 1;
|
|
if (length > 0) {
|
|
- ret = (wchar_t*)malloc((length) * sizeof(wchar_t));
|
|
+ ret = (char*)malloc((length) * sizeof(char));
|
|
if (ret) {
|
|
ret[0] = 0;
|
|
kwsysEncoding_mbstowcs(ret, str, length);
|
|
@@ -43,7 +43,7 @@ wchar_t* kwsysEncoding_DupToWide(const c
|
|
return ret;
|
|
}
|
|
|
|
-size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* str, size_t n)
|
|
+size_t kwsysEncoding_wcstombs(char* dest, const char* str, size_t n)
|
|
{
|
|
if (str == 0) {
|
|
return (size_t)-1;
|
|
@@ -57,7 +57,7 @@ size_t kwsysEncoding_wcstombs(char* dest
|
|
#endif
|
|
}
|
|
|
|
-char* kwsysEncoding_DupToNarrow(const wchar_t* str)
|
|
+char* kwsysEncoding_DupToNarrow(const char* str)
|
|
{
|
|
char* ret = NULL;
|
|
size_t length = kwsysEncoding_wcstombs(0, str, 0) + 1;
|
|
diff -urp a/Source/kwsys/EncodingCXX.cxx b/Source/kwsys/EncodingCXX.cxx
|
|
--- a/Source/kwsys/EncodingCXX.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/EncodingCXX.cxx 2021-02-12 14:39:55.148193613 +0330
|
|
@@ -68,16 +68,6 @@ Encoding::CommandLineArguments::CommandL
|
|
this->argv_[ac] = nullptr;
|
|
}
|
|
|
|
-Encoding::CommandLineArguments::CommandLineArguments(int ac,
|
|
- wchar_t const* const* av)
|
|
-{
|
|
- this->argv_.resize(ac + 1);
|
|
- for (int i = 0; i < ac; i++) {
|
|
- this->argv_[i] = kwsysEncoding_DupToNarrow(av[i]);
|
|
- }
|
|
- this->argv_[ac] = nullptr;
|
|
-}
|
|
-
|
|
Encoding::CommandLineArguments::~CommandLineArguments()
|
|
{
|
|
for (size_t i = 0; i < this->argv_.size(); i++) {
|
|
@@ -124,19 +114,19 @@ char const* const* Encoding::CommandLine
|
|
|
|
#if KWSYS_STL_HAS_WSTRING
|
|
|
|
-std::wstring Encoding::ToWide(const std::string& str)
|
|
+std::string Encoding::ToWide(const std::string& str)
|
|
{
|
|
- std::wstring wstr;
|
|
+ std::string wstr;
|
|
# if defined(_WIN32)
|
|
const int wlength =
|
|
MultiByteToWideChar(KWSYS_ENCODING_DEFAULT_CODEPAGE, 0, str.data(),
|
|
int(str.size()), nullptr, 0);
|
|
if (wlength > 0) {
|
|
- wchar_t* wdata = new wchar_t[wlength];
|
|
+ char* wdata = new char[wlength];
|
|
int r = MultiByteToWideChar(KWSYS_ENCODING_DEFAULT_CODEPAGE, 0, str.data(),
|
|
int(str.size()), wdata, wlength);
|
|
if (r > 0) {
|
|
- wstr = std::wstring(wdata, wlength);
|
|
+ wstr = std::string(wdata, wlength);
|
|
}
|
|
delete[] wdata;
|
|
}
|
|
@@ -150,14 +140,14 @@ std::wstring Encoding::ToWide(const std:
|
|
nullPos = str.find('\0', pos);
|
|
if (nullPos != std::string::npos) {
|
|
pos = nullPos + 1;
|
|
- wstr += wchar_t('\0');
|
|
+ wstr += char('\0');
|
|
}
|
|
} while (nullPos != std::string::npos);
|
|
# endif
|
|
return wstr;
|
|
}
|
|
|
|
-std::string Encoding::ToNarrow(const std::wstring& str)
|
|
+std::string Encoding::ToNarrow(const std::string& str)
|
|
{
|
|
std::string nstr;
|
|
# if defined(_WIN32)
|
|
@@ -181,7 +171,7 @@ std::string Encoding::ToNarrow(const std
|
|
if (pos < str.size() && str.at(pos) != '\0') {
|
|
nstr += ToNarrow(str.c_str() + pos);
|
|
}
|
|
- nullPos = str.find(wchar_t('\0'), pos);
|
|
+ nullPos = str.find(char('\0'), pos);
|
|
if (nullPos != std::string::npos) {
|
|
pos = nullPos + 1;
|
|
nstr += '\0';
|
|
@@ -191,12 +181,12 @@ std::string Encoding::ToNarrow(const std
|
|
return nstr;
|
|
}
|
|
|
|
-std::wstring Encoding::ToWide(const char* cstr)
|
|
+std::string Encoding::ToWide(const char* cstr)
|
|
{
|
|
- std::wstring wstr;
|
|
+ std::string wstr;
|
|
size_t length = kwsysEncoding_mbstowcs(nullptr, cstr, 0) + 1;
|
|
if (length > 0) {
|
|
- std::vector<wchar_t> wchars(length);
|
|
+ std::vector<char> wchars(length);
|
|
if (kwsysEncoding_mbstowcs(&wchars[0], cstr, length) > 0) {
|
|
wstr = &wchars[0];
|
|
}
|
|
@@ -204,7 +194,7 @@ std::wstring Encoding::ToWide(const char
|
|
return wstr;
|
|
}
|
|
|
|
-std::string Encoding::ToNarrow(const wchar_t* wcstr)
|
|
+std::string Encoding::ToNarrow(const char* wcstr)
|
|
{
|
|
std::string str;
|
|
size_t length = kwsysEncoding_wcstombs(nullptr, wcstr, 0) + 1;
|
|
@@ -219,19 +209,19 @@ std::string Encoding::ToNarrow(const wch
|
|
|
|
# if defined(_WIN32)
|
|
// Convert local paths to UNC style paths
|
|
-std::wstring Encoding::ToWindowsExtendedPath(std::string const& source)
|
|
+std::string Encoding::ToWindowsExtendedPath(std::string const& source)
|
|
{
|
|
return ToWindowsExtendedPath(ToWide(source));
|
|
}
|
|
|
|
// Convert local paths to UNC style paths
|
|
-std::wstring Encoding::ToWindowsExtendedPath(const char* source)
|
|
+std::string Encoding::ToWindowsExtendedPath(const char* source)
|
|
{
|
|
return ToWindowsExtendedPath(ToWide(source));
|
|
}
|
|
|
|
// Convert local paths to UNC style paths
|
|
-std::wstring Encoding::ToWindowsExtendedPath(std::wstring const& wsource)
|
|
+std::string Encoding::ToWindowsExtendedPath(std::string const& wsource)
|
|
{
|
|
// Resolve any relative paths
|
|
DWORD wfull_len;
|
|
@@ -239,7 +229,7 @@ std::wstring Encoding::ToWindowsExtended
|
|
/* The +3 is a workaround for a bug in some versions of GetFullPathNameW that
|
|
* won't return a large enough buffer size if the input is too small */
|
|
wfull_len = GetFullPathNameW(wsource.c_str(), 0, nullptr, nullptr) + 3;
|
|
- std::vector<wchar_t> wfull(wfull_len);
|
|
+ std::vector<char> wfull(wfull_len);
|
|
GetFullPathNameW(wsource.c_str(), wfull_len, &wfull[0], nullptr);
|
|
|
|
/* This should get the correct size without any extra padding from the
|
|
@@ -248,7 +238,7 @@ std::wstring Encoding::ToWindowsExtended
|
|
|
|
if (wfull_len >= 2 && isalpha(wfull[0]) &&
|
|
wfull[1] == L':') { /* C:\Foo\bar\FooBar.txt */
|
|
- return L"\\\\?\\" + std::wstring(&wfull[0]);
|
|
+ return "\\\\?\\" + std::string(&wfull[0]);
|
|
} else if (wfull_len >= 2 && wfull[0] == L'\\' &&
|
|
wfull[1] == L'\\') { /* Starts with \\ */
|
|
if (wfull_len >= 4 && wfull[2] == L'?' &&
|
|
@@ -256,24 +246,24 @@ std::wstring Encoding::ToWindowsExtended
|
|
if (wfull_len >= 8 && wfull[4] == L'U' && wfull[5] == L'N' &&
|
|
wfull[6] == L'C' &&
|
|
wfull[7] == L'\\') { /* \\?\UNC\Foo\bar\FooBar.txt */
|
|
- return std::wstring(&wfull[0]);
|
|
+ return std::string(&wfull[0]);
|
|
} else if (wfull_len >= 6 && isalpha(wfull[4]) &&
|
|
wfull[5] == L':') { /* \\?\C:\Foo\bar\FooBar.txt */
|
|
- return std::wstring(&wfull[0]);
|
|
+ return std::string(&wfull[0]);
|
|
} else if (wfull_len >= 5) { /* \\?\Foo\bar\FooBar.txt */
|
|
- return L"\\\\?\\UNC\\" + std::wstring(&wfull[4]);
|
|
+ return "\\\\?\\UNC\\" + std::string(&wfull[4]);
|
|
}
|
|
} else if (wfull_len >= 4 && wfull[2] == L'.' &&
|
|
wfull[3] == L'\\') { /* Starts with \\.\ a device name */
|
|
if (wfull_len >= 6 && isalpha(wfull[4]) &&
|
|
wfull[5] == L':') { /* \\.\C:\Foo\bar\FooBar.txt */
|
|
- return L"\\\\?\\" + std::wstring(&wfull[4]);
|
|
+ return "\\\\?\\" + std::string(&wfull[4]);
|
|
} else if (wfull_len >=
|
|
5) { /* \\.\Foo\bar\ Device name is left unchanged */
|
|
- return std::wstring(&wfull[0]);
|
|
+ return std::string(&wfull[0]);
|
|
}
|
|
} else if (wfull_len >= 3) { /* \\Foo\bar\FooBar.txt */
|
|
- return L"\\\\?\\UNC\\" + std::wstring(&wfull[2]);
|
|
+ return "\\\\?\\UNC\\" + std::string(&wfull[2]);
|
|
}
|
|
}
|
|
|
|
diff -urp a/Source/kwsys/Encoding.h.in b/Source/kwsys/Encoding.h.in
|
|
--- a/Source/kwsys/Encoding.h.in 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/Encoding.h.in 2021-02-11 18:43:32.759169256 +0330
|
|
@@ -31,22 +31,22 @@ extern "C" {
|
|
On Windows, UTF-8 is assumed, and on other platforms,
|
|
the current locale is assumed.
|
|
*/
|
|
-kwsysEXPORT size_t kwsysEncoding_mbstowcs(wchar_t* dest, const char* src,
|
|
+kwsysEXPORT size_t kwsysEncoding_mbstowcs(char* dest, const char* src,
|
|
size_t n);
|
|
|
|
/* Convert a narrow string to a wide string.
|
|
This can return NULL if the conversion fails. */
|
|
-kwsysEXPORT wchar_t* kwsysEncoding_DupToWide(const char* src);
|
|
+kwsysEXPORT char* kwsysEncoding_DupToWide(const char* src);
|
|
|
|
/* Convert a wide string to a narrow string.
|
|
On Windows, UTF-8 is assumed, and on other platforms,
|
|
the current locale is assumed. */
|
|
-kwsysEXPORT size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* src,
|
|
+kwsysEXPORT size_t kwsysEncoding_wcstombs(char* dest, const char* src,
|
|
size_t n);
|
|
|
|
/* Convert a wide string to a narrow string.
|
|
This can return NULL if the conversion fails. */
|
|
-kwsysEXPORT char* kwsysEncoding_DupToNarrow(const wchar_t* str);
|
|
+kwsysEXPORT char* kwsysEncoding_DupToNarrow(const char* str);
|
|
|
|
#if defined(__cplusplus)
|
|
} /* extern "C" */
|
|
diff -urp a/Source/kwsys/Encoding.hxx.in b/Source/kwsys/Encoding.hxx.in
|
|
--- a/Source/kwsys/Encoding.hxx.in 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/Encoding.hxx.in 2021-02-12 14:39:55.148193613 +0330
|
|
@@ -27,9 +27,6 @@ public:
|
|
// in the encoding used by this module.
|
|
CommandLineArguments(int argc, char const* const* argv);
|
|
|
|
- // Construct CommandLineArguments with the given
|
|
- // argc and wide argv. This is useful if wmain() is used.
|
|
- CommandLineArguments(int argc, wchar_t const* const* argv);
|
|
~CommandLineArguments();
|
|
CommandLineArguments(const CommandLineArguments&);
|
|
CommandLineArguments& operator=(const CommandLineArguments&);
|
|
@@ -42,7 +39,7 @@ public:
|
|
};
|
|
|
|
/**
|
|
- * Convert between char and wchar_t
|
|
+ * Convert between char and char
|
|
*/
|
|
|
|
#if @KWSYS_NAMESPACE@_STL_HAS_WSTRING
|
|
@@ -50,14 +47,14 @@ public:
|
|
// Convert a narrow string to a wide string.
|
|
// On Windows, UTF-8 is assumed, and on other platforms,
|
|
// the current locale is assumed.
|
|
- static std::wstring ToWide(const std::string& str);
|
|
- static std::wstring ToWide(const char* str);
|
|
+ static std::string ToWide(const std::string& str);
|
|
+ static std::string ToWide(const char* str);
|
|
|
|
// Convert a wide string to a narrow string.
|
|
// On Windows, UTF-8 is assumed, and on other platforms,
|
|
// the current locale is assumed.
|
|
- static std::string ToNarrow(const std::wstring& str);
|
|
- static std::string ToNarrow(const wchar_t* str);
|
|
+ static std::string ToNarrow(const std::string& str);
|
|
+ static std::string ToNarrow(const char* str);
|
|
|
|
# if defined(_WIN32)
|
|
/**
|
|
@@ -67,9 +64,8 @@ public:
|
|
* will be prefixed with \\?\UNC\. All output will also be converted to
|
|
* absolute paths with Windows-style backslashes.
|
|
**/
|
|
- static std::wstring ToWindowsExtendedPath(std::string const&);
|
|
- static std::wstring ToWindowsExtendedPath(const char* source);
|
|
- static std::wstring ToWindowsExtendedPath(std::wstring const& wsource);
|
|
+ static std::string ToWindowsExtendedPath(std::string const&);
|
|
+ static std::string ToWindowsExtendedPath(const char* source);
|
|
# endif
|
|
|
|
#endif // @KWSYS_NAMESPACE@_STL_HAS_WSTRING
|
|
diff -urp a/Source/kwsys/FStream.hxx.in b/Source/kwsys/FStream.hxx.in
|
|
--- a/Source/kwsys/FStream.hxx.in 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/FStream.hxx.in 2021-02-11 18:43:32.765836028 +0330
|
|
@@ -33,7 +33,7 @@ public:
|
|
typedef std::basic_filebuf<CharType, Traits> my_base_type;
|
|
basic_filebuf* open(char const* s, std::ios_base::openmode mode)
|
|
{
|
|
- const std::wstring wstr = Encoding::ToWindowsExtendedPath(s);
|
|
+ const std::string wstr = Encoding::ToWindowsExtendedPath(s);
|
|
return static_cast<basic_filebuf*>(my_base_type::open(wstr.c_str(), mode));
|
|
}
|
|
# endif
|
|
@@ -41,28 +41,28 @@ public:
|
|
|
|
# else
|
|
|
|
-inline std::wstring getcmode(const std::ios_base::openmode mode)
|
|
+inline std::string getcmode(const std::ios_base::openmode mode)
|
|
{
|
|
- std::wstring cmode;
|
|
+ std::string cmode;
|
|
bool plus = false;
|
|
if (mode & std::ios_base::app) {
|
|
- cmode += L"a";
|
|
+ cmode += "a";
|
|
plus = mode & std::ios_base::in ? true : false;
|
|
} else if (mode & std::ios_base::trunc ||
|
|
(mode & std::ios_base::out && (mode & std::ios_base::in) == 0)) {
|
|
- cmode += L"w";
|
|
+ cmode += "w";
|
|
plus = mode & std::ios_base::in ? true : false;
|
|
} else {
|
|
- cmode += L"r";
|
|
+ cmode += "r";
|
|
plus = mode & std::ios_base::out ? true : false;
|
|
}
|
|
if (plus) {
|
|
- cmode += L"+";
|
|
+ cmode += "+";
|
|
}
|
|
if (mode & std::ios_base::binary) {
|
|
- cmode += L"b";
|
|
+ cmode += "b";
|
|
} else {
|
|
- cmode += L"t";
|
|
+ cmode += "t";
|
|
}
|
|
return cmode;
|
|
};
|
|
@@ -93,9 +93,9 @@ public:
|
|
# if defined(_MSC_VER)
|
|
const bool success = buf_->open(file_name, mode) != 0;
|
|
# else
|
|
- const std::wstring wstr = Encoding::ToWindowsExtendedPath(file_name);
|
|
+ const std::string wstr = Encoding::ToWindowsExtendedPath(file_name);
|
|
bool success = false;
|
|
- std::wstring cmode = getcmode(mode);
|
|
+ std::string cmode = getcmode(mode);
|
|
file_ = _wfopen(wstr.c_str(), cmode.c_str());
|
|
if (file_) {
|
|
if (buf_) {
|
|
diff -urp a/Source/kwsys/kwsysPlatformTestsCXX.cxx b/Source/kwsys/kwsysPlatformTestsCXX.cxx
|
|
--- a/Source/kwsys/kwsysPlatformTestsCXX.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/kwsysPlatformTestsCXX.cxx 2021-02-12 14:39:59.854519416 +0330
|
|
@@ -156,7 +156,7 @@ int main()
|
|
|
|
#ifdef TEST_KWSYS_STL_HAS_WSTRING
|
|
# include <string>
|
|
-void f(std::wstring*)
|
|
+void f(std::string*)
|
|
{
|
|
}
|
|
int main()
|
|
diff -urp a/Source/kwsys/ProcessWin32.c b/Source/kwsys/ProcessWin32.c
|
|
--- a/Source/kwsys/ProcessWin32.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/ProcessWin32.c 2021-02-11 18:43:32.785836347 +0330
|
|
@@ -202,14 +202,14 @@ struct kwsysProcess_s
|
|
int State;
|
|
|
|
/* The command lines to execute. */
|
|
- wchar_t** Commands;
|
|
+ char** Commands;
|
|
int NumberOfCommands;
|
|
|
|
/* The exit code of each command. */
|
|
DWORD* CommandExitCodes;
|
|
|
|
/* The working directory for the child process. */
|
|
- wchar_t* WorkingDirectory;
|
|
+ char* WorkingDirectory;
|
|
|
|
/* Whether to create the child as a detached process. */
|
|
int OptionDetach;
|
|
@@ -301,7 +301,7 @@ struct kwsysProcess_s
|
|
|
|
/* Real working directory of our own process. */
|
|
DWORD RealWorkingDirectoryLength;
|
|
- wchar_t* RealWorkingDirectory;
|
|
+ char* RealWorkingDirectory;
|
|
|
|
/* Own handles for the child's ends of the pipes in the parent process.
|
|
Used temporarily during process creation. */
|
|
@@ -549,7 +549,7 @@ int kwsysProcess_SetCommand(kwsysProcess
|
|
int kwsysProcess_AddCommand(kwsysProcess* cp, char const* const* command)
|
|
{
|
|
int newNumberOfCommands;
|
|
- wchar_t** newCommands;
|
|
+ char** newCommands;
|
|
|
|
/* Make sure we have a command to add. */
|
|
if (!cp || !command || !*command) {
|
|
@@ -559,7 +559,7 @@ int kwsysProcess_AddCommand(kwsysProcess
|
|
/* Allocate a new array for command pointers. */
|
|
newNumberOfCommands = cp->NumberOfCommands + 1;
|
|
if (!(newCommands =
|
|
- (wchar_t**)malloc(sizeof(wchar_t*) * newNumberOfCommands))) {
|
|
+ (char**)malloc(sizeof(char*) * newNumberOfCommands))) {
|
|
/* Out of memory. */
|
|
return 0;
|
|
}
|
|
@@ -664,11 +664,11 @@ int kwsysProcess_SetWorkingDirectory(kws
|
|
cp->WorkingDirectory = 0;
|
|
}
|
|
if (dir && dir[0]) {
|
|
- wchar_t* wdir = kwsysEncoding_DupToWide(dir);
|
|
+ char* wdir = kwsysEncoding_DupToWide(dir);
|
|
/* We must convert the working directory to a full path. */
|
|
DWORD length = GetFullPathNameW(wdir, 0, 0, 0);
|
|
if (length > 0) {
|
|
- wchar_t* work_dir = malloc(length * sizeof(wchar_t));
|
|
+ char* work_dir = malloc(length * sizeof(char));
|
|
if (!work_dir) {
|
|
free(wdir);
|
|
return 0;
|
|
@@ -968,7 +968,7 @@ void kwsysProcess_Execute(kwsysProcess*
|
|
/* Setup the stdin pipe for the first process. */
|
|
if (cp->PipeFileSTDIN) {
|
|
/* Create a handle to read a file for stdin. */
|
|
- wchar_t* wstdin = kwsysEncoding_DupToWide(cp->PipeFileSTDIN);
|
|
+ char* wstdin = kwsysEncoding_DupToWide(cp->PipeFileSTDIN);
|
|
DWORD error;
|
|
cp->PipeChildStd[0] =
|
|
CreateFileW(wstdin, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
|
|
@@ -1630,7 +1630,7 @@ int kwsysProcessInitialize(kwsysProcess*
|
|
cp->RealWorkingDirectoryLength = GetCurrentDirectoryW(0, 0);
|
|
if (cp->RealWorkingDirectoryLength > 0) {
|
|
cp->RealWorkingDirectory =
|
|
- malloc(cp->RealWorkingDirectoryLength * sizeof(wchar_t));
|
|
+ malloc(cp->RealWorkingDirectoryLength * sizeof(char));
|
|
if (!cp->RealWorkingDirectory) {
|
|
return 0;
|
|
}
|
|
@@ -1796,7 +1796,7 @@ void kwsysProcessDestroy(kwsysProcess* c
|
|
DWORD kwsysProcessSetupOutputPipeFile(PHANDLE phandle, const char* name)
|
|
{
|
|
HANDLE fout;
|
|
- wchar_t* wname;
|
|
+ char* wname;
|
|
DWORD error;
|
|
if (!name) {
|
|
return ERROR_INVALID_PARAMETER;
|
|
@@ -1857,7 +1857,7 @@ void kwsysProcessCleanup(kwsysProcess* c
|
|
/* Construct an error message if one has not been provided already. */
|
|
if (cp->ErrorMessage[0] == 0) {
|
|
/* Format the error message. */
|
|
- wchar_t err_msg[KWSYSPE_PIPE_BUFFER_SIZE];
|
|
+ char err_msg[KWSYSPE_PIPE_BUFFER_SIZE];
|
|
DWORD length = FormatMessageW(
|
|
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error,
|
|
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), err_msg,
|
|
@@ -2347,7 +2347,7 @@ static int kwsysProcess_List__New_NT4(kw
|
|
loaded in this program. This does not actually increment the
|
|
reference count to the module so we do not need to close the
|
|
handle. */
|
|
- HMODULE hNT = GetModuleHandleW(L"ntdll.dll");
|
|
+ HMODULE hNT = GetModuleHandleW("ntdll.dll");
|
|
if (hNT) {
|
|
/* Get pointers to the needed API functions. */
|
|
self->P_ZwQuerySystemInformation =
|
|
@@ -2428,7 +2428,7 @@ static int kwsysProcess_List__New_Snapsh
|
|
loaded in this program. This does not actually increment the
|
|
reference count to the module so we do not need to close the
|
|
handle. */
|
|
- HMODULE hKernel = GetModuleHandleW(L"kernel32.dll");
|
|
+ HMODULE hKernel = GetModuleHandleW("kernel32.dll");
|
|
if (hKernel) {
|
|
self->P_CreateToolhelp32Snapshot =
|
|
((CreateToolhelp32SnapshotType)GetProcAddress(
|
|
diff -urp a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
|
|
--- a/Source/kwsys/SystemInformation.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/SystemInformation.cxx 2021-02-12 14:39:59.854519416 +0330
|
|
@@ -2559,7 +2559,7 @@ bool SystemInformationImplementation::Re
|
|
HKEY hKey = nullptr;
|
|
LONG err =
|
|
RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
|
- L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", 0,
|
|
+ "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", 0,
|
|
KEY_READ, &hKey);
|
|
|
|
if (ERROR_SUCCESS == err) {
|
|
@@ -2568,7 +2568,7 @@ bool SystemInformationImplementation::Re
|
|
DWORD dwSize = sizeof(DWORD);
|
|
|
|
err =
|
|
- RegQueryValueExW(hKey, L"~MHz", 0, &dwType, (LPBYTE)&data, &dwSize);
|
|
+ RegQueryValueExW(hKey, "~MHz", 0, &dwType, (LPBYTE)&data, &dwSize);
|
|
|
|
if (ERROR_SUCCESS == err) {
|
|
this->CPUSpeedInMHz = (float)data;
|
|
@@ -3836,7 +3836,7 @@ double SystemInformationImplementation::
|
|
typedef BOOL(WINAPI * GetSystemTimesType)(LPFILETIME, LPFILETIME,
|
|
LPFILETIME);
|
|
static GetSystemTimesType pGetSystemTimes =
|
|
- (GetSystemTimesType)GetProcAddress(GetModuleHandleW(L"kernel32"),
|
|
+ (GetSystemTimesType)GetProcAddress(GetModuleHandleW("kernel32"),
|
|
"GetSystemTimes");
|
|
FILETIME idleTime, kernelTime, userTime;
|
|
if (pGetSystemTimes && pGetSystemTimes(&idleTime, &kernelTime, &userTime)) {
|
|
@@ -4383,7 +4383,7 @@ void SystemInformationImplementation::CP
|
|
PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, PDWORD);
|
|
static GetLogicalProcessorInformationType pGetLogicalProcessorInformation =
|
|
(GetLogicalProcessorInformationType)GetProcAddress(
|
|
- GetModuleHandleW(L"kernel32"), "GetLogicalProcessorInformation");
|
|
+ GetModuleHandleW("kernel32"), "GetLogicalProcessorInformation");
|
|
|
|
if (!pGetLogicalProcessorInformation) {
|
|
// Fallback to approximate implementation on ancient Windows versions.
|
|
@@ -5267,21 +5267,21 @@ bool SystemInformationImplementation::Qu
|
|
# endif // VER_NT_WORKSTATION
|
|
{
|
|
HKEY hKey;
|
|
- wchar_t szProductType[80];
|
|
+ char szProductType[80];
|
|
DWORD dwBufLen;
|
|
|
|
// Query the registry to retrieve information.
|
|
RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
|
- L"SYSTEM\\CurrentControlSet\\Control\\ProductOptions", 0,
|
|
+ "SYSTEM\\CurrentControlSet\\Control\\ProductOptions", 0,
|
|
KEY_QUERY_VALUE, &hKey);
|
|
- RegQueryValueExW(hKey, L"ProductType", nullptr, nullptr,
|
|
+ RegQueryValueExW(hKey, "ProductType", nullptr, nullptr,
|
|
(LPBYTE)szProductType, &dwBufLen);
|
|
RegCloseKey(hKey);
|
|
|
|
- if (lstrcmpiW(L"WINNT", szProductType) == 0) {
|
|
+ if (lstrcmpiW("WINNT", szProductType) == 0) {
|
|
this->OSRelease += " Professional";
|
|
}
|
|
- if (lstrcmpiW(L"LANMANNT", szProductType) == 0) {
|
|
+ if (lstrcmpiW("LANMANNT", szProductType) == 0) {
|
|
// Decide between Windows 2000 Advanced Server and Windows .NET
|
|
// Enterprise Server.
|
|
if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) {
|
|
@@ -5290,7 +5290,7 @@ bool SystemInformationImplementation::Qu
|
|
this->OSRelease += " Server";
|
|
}
|
|
}
|
|
- if (lstrcmpiW(L"SERVERNT", szProductType) == 0) {
|
|
+ if (lstrcmpiW("SERVERNT", szProductType) == 0) {
|
|
// Decide between Windows 2000 Advanced Server and Windows .NET
|
|
// Enterprise Server.
|
|
if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) {
|
|
@@ -5315,7 +5315,7 @@ bool SystemInformationImplementation::Qu
|
|
LPFNPROC DLLProc;
|
|
|
|
// Load the Kernel32 DLL.
|
|
- hKernelDLL = LoadLibraryW(L"kernel32");
|
|
+ hKernelDLL = LoadLibraryW("kernel32");
|
|
if (hKernelDLL != nullptr) {
|
|
// Only XP and .NET Server support IsWOW64Process so... Load
|
|
// dynamically!
|
|
diff -urp a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
|
|
--- a/Source/kwsys/SystemTools.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/SystemTools.cxx 2021-02-12 14:39:59.854519416 +0330
|
|
@@ -223,7 +223,7 @@ inline int Rmdir(const std::string& dir)
|
|
}
|
|
inline const char* Getcwd(char* buf, unsigned int len)
|
|
{
|
|
- std::vector<wchar_t> w_buf(len);
|
|
+ std::vector<char> w_buf(len);
|
|
if (_wgetcwd(&w_buf[0], len)) {
|
|
size_t nlen = kwsysEncoding_wcstombs(buf, &w_buf[0], len);
|
|
if (nlen == static_cast<size_t>(-1)) {
|
|
@@ -246,9 +246,9 @@ inline int Chdir(const std::string& dir)
|
|
inline void Realpath(const std::string& path, std::string& resolved_path,
|
|
std::string* errorMessage = 0)
|
|
{
|
|
- std::wstring tmp = KWSYS_NAMESPACE::Encoding::ToWide(path);
|
|
- wchar_t* ptemp;
|
|
- wchar_t fullpath[MAX_PATH];
|
|
+ std::string tmp = KWSYS_NAMESPACE::Encoding::ToWide(path);
|
|
+ char* ptemp;
|
|
+ char fullpath[MAX_PATH];
|
|
DWORD bufferLen = GetFullPathNameW(
|
|
tmp.c_str(), sizeof(fullpath) / sizeof(fullpath[0]), fullpath, &ptemp);
|
|
if (bufferLen < sizeof(fullpath) / sizeof(fullpath[0])) {
|
|
@@ -351,7 +351,7 @@ double SystemTools::GetTime()
|
|
|
|
/* Type of character storing the environment. */
|
|
#if defined(_WIN32)
|
|
-typedef wchar_t envchar;
|
|
+typedef char envchar;
|
|
#else
|
|
using envchar = char;
|
|
#endif
|
|
@@ -362,8 +362,8 @@ struct kwsysEnvCompare
|
|
bool operator()(const envchar* l, const envchar* r) const
|
|
{
|
|
#if defined(_WIN32)
|
|
- const wchar_t* leq = wcschr(l, L'=');
|
|
- const wchar_t* req = wcschr(r, L'=');
|
|
+ const char* leq = wcschr(l, L'=');
|
|
+ const char* req = wcschr(r, L'=');
|
|
size_t llen = leq ? (leq - l) : wcslen(l);
|
|
size_t rlen = req ? (req - r) : wcslen(r);
|
|
if (llen == rlen) {
|
|
@@ -642,8 +642,8 @@ const char* SystemTools::GetEnv(const st
|
|
bool SystemTools::GetEnv(const char* key, std::string& result)
|
|
{
|
|
#if defined(_WIN32)
|
|
- const std::wstring wkey = Encoding::ToWide(key);
|
|
- const wchar_t* wv = _wgetenv(wkey.c_str());
|
|
+ const std::string wkey = Encoding::ToWide(key);
|
|
+ const char* wv = _wgetenv(wkey.c_str());
|
|
if (wv) {
|
|
result = Encoding::ToNarrow(wv);
|
|
return true;
|
|
@@ -666,8 +666,8 @@ bool SystemTools::GetEnv(const std::stri
|
|
bool SystemTools::HasEnv(const char* key)
|
|
{
|
|
#if defined(_WIN32)
|
|
- const std::wstring wkey = Encoding::ToWide(key);
|
|
- const wchar_t* v = _wgetenv(wkey.c_str());
|
|
+ const std::string wkey = Encoding::ToWide(key);
|
|
+ const char* v = _wgetenv(wkey.c_str());
|
|
#else
|
|
const char* v = getenv(key);
|
|
#endif
|
|
@@ -733,11 +733,11 @@ static kwsysEnvSet kwsysUnPutEnvSet;
|
|
|
|
static int kwsysUnPutEnv(std::string const& env)
|
|
{
|
|
- std::wstring wEnv = Encoding::ToWide(env);
|
|
+ std::string wEnv = Encoding::ToWide(env);
|
|
size_t const pos = wEnv.find('=');
|
|
size_t const len = pos == std::string::npos ? wEnv.size() : pos;
|
|
wEnv.resize(len + 1, L'=');
|
|
- wchar_t* newEnv = _wcsdup(wEnv.c_str());
|
|
+ char* newEnv = _wcsdup(wEnv.c_str());
|
|
if (!newEnv) {
|
|
return -1;
|
|
}
|
|
@@ -820,8 +820,8 @@ public:
|
|
bool Put(const char* env)
|
|
{
|
|
# if defined(_WIN32)
|
|
- const std::wstring wEnv = Encoding::ToWide(env);
|
|
- wchar_t* newEnv = _wcsdup(wEnv.c_str());
|
|
+ const std::string wEnv = Encoding::ToWide(env);
|
|
+ char* newEnv = _wcsdup(wEnv.c_str());
|
|
# else
|
|
char* newEnv = strdup(env);
|
|
# endif
|
|
@@ -836,7 +836,7 @@ public:
|
|
bool UnPut(const char* env)
|
|
{
|
|
# if defined(_WIN32)
|
|
- const std::wstring wEnv = Encoding::ToWide(env);
|
|
+ const std::string wEnv = Encoding::ToWide(env);
|
|
Free oldEnv(this->Release(wEnv.c_str()));
|
|
# else
|
|
Free oldEnv(this->Release(env));
|
|
@@ -872,7 +872,7 @@ FILE* SystemTools::Fopen(const std::stri
|
|
{
|
|
#ifdef _WIN32
|
|
// Remove any 'e', which is supported on UNIX, but not Windows.
|
|
- std::wstring trimmedMode = Encoding::ToWide(mode);
|
|
+ std::string trimmedMode = Encoding::ToWide(mode);
|
|
trimmedMode.erase(std::remove(trimmedMode.begin(), trimmedMode.end(), L'e'),
|
|
trimmedMode.end());
|
|
return _wfopen(Encoding::ToWindowsExtendedPath(file).c_str(),
|
|
@@ -1005,7 +1005,7 @@ static bool hasPrefix(const std::string&
|
|
}
|
|
|
|
static bool SystemToolsParseRegistryKey(const std::string& key,
|
|
- HKEY& primaryKey, std::wstring& second,
|
|
+ HKEY& primaryKey, std::string& second,
|
|
std::string* valuename)
|
|
{
|
|
size_t start = key.find('\\');
|
|
@@ -1040,7 +1040,7 @@ static DWORD SystemToolsMakeRegistryMode
|
|
{
|
|
// only add the modes when on a system that supports Wow64.
|
|
static FARPROC wow64p =
|
|
- GetProcAddress(GetModuleHandleW(L"kernel32"), "IsWow64Process");
|
|
+ GetProcAddress(GetModuleHandleW("kernel32"), "IsWow64Process");
|
|
if (wow64p == nullptr) {
|
|
return mode;
|
|
}
|
|
@@ -1060,7 +1060,7 @@ bool SystemTools::GetRegistrySubKeys(con
|
|
KeyWOW64 view)
|
|
{
|
|
HKEY primaryKey = HKEY_CURRENT_USER;
|
|
- std::wstring second;
|
|
+ std::string second;
|
|
if (!SystemToolsParseRegistryKey(key, primaryKey, second, nullptr)) {
|
|
return false;
|
|
}
|
|
@@ -1071,7 +1071,7 @@ bool SystemTools::GetRegistrySubKeys(con
|
|
&hKey) != ERROR_SUCCESS) {
|
|
return false;
|
|
} else {
|
|
- wchar_t name[1024];
|
|
+ char name[1024];
|
|
DWORD dwNameSize = sizeof(name) / sizeof(name[0]);
|
|
|
|
DWORD i = 0;
|
|
@@ -1106,7 +1106,7 @@ bool SystemTools::ReadRegistryValue(cons
|
|
{
|
|
bool valueset = false;
|
|
HKEY primaryKey = HKEY_CURRENT_USER;
|
|
- std::wstring second;
|
|
+ std::string second;
|
|
std::string valuename;
|
|
if (!SystemToolsParseRegistryKey(key, primaryKey, second, &valuename)) {
|
|
return false;
|
|
@@ -1120,14 +1120,14 @@ bool SystemTools::ReadRegistryValue(cons
|
|
} else {
|
|
DWORD dwType, dwSize;
|
|
dwSize = 1023;
|
|
- wchar_t data[1024];
|
|
+ char data[1024];
|
|
if (RegQueryValueExW(hKey, Encoding::ToWide(valuename).c_str(), nullptr,
|
|
&dwType, (BYTE*)data, &dwSize) == ERROR_SUCCESS) {
|
|
if (dwType == REG_SZ) {
|
|
value = Encoding::ToNarrow(data);
|
|
valueset = true;
|
|
} else if (dwType == REG_EXPAND_SZ) {
|
|
- wchar_t expanded[1024];
|
|
+ char expanded[1024];
|
|
DWORD dwExpandedSize = sizeof(expanded) / sizeof(expanded[0]);
|
|
if (ExpandEnvironmentStringsW(data, expanded, dwExpandedSize)) {
|
|
value = Encoding::ToNarrow(expanded);
|
|
@@ -1160,7 +1160,7 @@ bool SystemTools::WriteRegistryValue(con
|
|
const std::string& value, KeyWOW64 view)
|
|
{
|
|
HKEY primaryKey = HKEY_CURRENT_USER;
|
|
- std::wstring second;
|
|
+ std::string second;
|
|
std::string valuename;
|
|
if (!SystemToolsParseRegistryKey(key, primaryKey, second, &valuename)) {
|
|
return false;
|
|
@@ -1168,7 +1168,7 @@ bool SystemTools::WriteRegistryValue(con
|
|
|
|
HKEY hKey;
|
|
DWORD dwDummy;
|
|
- wchar_t lpClass[] = L"";
|
|
+ char lpClass[] = "";
|
|
if (RegCreateKeyExW(primaryKey, second.c_str(), 0, lpClass,
|
|
REG_OPTION_NON_VOLATILE,
|
|
SystemToolsMakeRegistryMode(KEY_WRITE, view), nullptr,
|
|
@@ -1176,10 +1176,10 @@ bool SystemTools::WriteRegistryValue(con
|
|
return false;
|
|
}
|
|
|
|
- std::wstring wvalue = Encoding::ToWide(value);
|
|
+ std::string wvalue = Encoding::ToWide(value);
|
|
if (RegSetValueExW(hKey, Encoding::ToWide(valuename).c_str(), 0, REG_SZ,
|
|
(CONST BYTE*)wvalue.c_str(),
|
|
- (DWORD)(sizeof(wchar_t) * (wvalue.size() + 1))) ==
|
|
+ (DWORD)(sizeof(char) * (wvalue.size() + 1))) ==
|
|
ERROR_SUCCESS) {
|
|
return true;
|
|
}
|
|
@@ -1204,7 +1204,7 @@ bool SystemTools::WriteRegistryValue(con
|
|
bool SystemTools::DeleteRegistryValue(const std::string& key, KeyWOW64 view)
|
|
{
|
|
HKEY primaryKey = HKEY_CURRENT_USER;
|
|
- std::wstring second;
|
|
+ std::string second;
|
|
std::string valuename;
|
|
if (!SystemToolsParseRegistryKey(key, primaryKey, second, &valuename)) {
|
|
return false;
|
|
@@ -1404,7 +1404,7 @@ int SystemTools::Stat(const std::string&
|
|
// Ideally we should use Encoding::ToWindowsExtendedPath to support
|
|
// long paths, but _wstat64 rejects paths with '?' in them, thinking
|
|
// they are wildcards.
|
|
- std::wstring const& wpath = Encoding::ToWide(path);
|
|
+ std::string const& wpath = Encoding::ToWide(path);
|
|
return _wstat64(wpath.c_str(), buf);
|
|
#else
|
|
return stat(path.c_str(), buf);
|
|
@@ -2035,7 +2035,7 @@ void SystemTools::ConvertToUnixSlashes(s
|
|
}
|
|
|
|
#ifdef _WIN32
|
|
-std::wstring SystemTools::ConvertToWindowsExtendedPath(
|
|
+std::string SystemTools::ConvertToWindowsExtendedPath(
|
|
const std::string& source)
|
|
{
|
|
return Encoding::ToWindowsExtendedPath(source);
|
|
@@ -2556,7 +2556,7 @@ std::string SystemTools::GetLastSystemEr
|
|
bool SystemTools::RemoveFile(const std::string& source)
|
|
{
|
|
#ifdef _WIN32
|
|
- std::wstring const& ws = Encoding::ToWindowsExtendedPath(source);
|
|
+ std::string const& ws = Encoding::ToWindowsExtendedPath(source);
|
|
if (DeleteFileW(ws.c_str())) {
|
|
return true;
|
|
}
|
|
@@ -2960,7 +2960,7 @@ bool SystemTools::FileIsExecutable(const
|
|
bool SystemTools::FileIsSymlink(const std::string& name)
|
|
{
|
|
#if defined(_WIN32)
|
|
- std::wstring path = Encoding::ToWindowsExtendedPath(name);
|
|
+ std::string path = Encoding::ToWindowsExtendedPath(name);
|
|
DWORD attr = GetFileAttributesW(path.c_str());
|
|
if (attr != INVALID_FILE_ATTRIBUTES) {
|
|
if ((attr & FILE_ATTRIBUTE_REPARSE_POINT) != 0) {
|
|
@@ -3971,9 +3971,9 @@ bool SystemTools::GetShortPath(const std
|
|
tempPath.erase(0, 1);
|
|
}
|
|
|
|
- std::wstring wtempPath = Encoding::ToWide(tempPath);
|
|
+ std::string wtempPath = Encoding::ToWide(tempPath);
|
|
DWORD ret = GetShortPathNameW(wtempPath.c_str(), nullptr, 0);
|
|
- std::vector<wchar_t> buffer(ret);
|
|
+ std::vector<char> buffer(ret);
|
|
if (ret != 0) {
|
|
ret = GetShortPathNameW(wtempPath.c_str(), &buffer[0],
|
|
static_cast<DWORD>(buffer.size()));
|
|
@@ -4368,19 +4368,19 @@ std::string SystemTools::GetOperatingSys
|
|
else {
|
|
HKEY hKey;
|
|
# define BUFSIZE 80
|
|
- wchar_t szProductType[BUFSIZE];
|
|
+ char szProductType[BUFSIZE];
|
|
DWORD dwBufLen = BUFSIZE;
|
|
LONG lRet;
|
|
|
|
lRet =
|
|
RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
|
- L"SYSTEM\\CurrentControlSet\\Control\\ProductOptions",
|
|
+ "SYSTEM\\CurrentControlSet\\Control\\ProductOptions",
|
|
0, KEY_QUERY_VALUE, &hKey);
|
|
if (lRet != ERROR_SUCCESS) {
|
|
return 0;
|
|
}
|
|
|
|
- lRet = RegQueryValueExW(hKey, L"ProductType", nullptr, nullptr,
|
|
+ lRet = RegQueryValueExW(hKey, "ProductType", nullptr, nullptr,
|
|
(LPBYTE)szProductType, &dwBufLen);
|
|
|
|
if ((lRet != ERROR_SUCCESS) || (dwBufLen > BUFSIZE)) {
|
|
@@ -4389,13 +4389,13 @@ std::string SystemTools::GetOperatingSys
|
|
|
|
RegCloseKey(hKey);
|
|
|
|
- if (lstrcmpiW(L"WINNT", szProductType) == 0) {
|
|
+ if (lstrcmpiW("WINNT", szProductType) == 0) {
|
|
res += " Workstation";
|
|
}
|
|
- if (lstrcmpiW(L"LANMANNT", szProductType) == 0) {
|
|
+ if (lstrcmpiW("LANMANNT", szProductType) == 0) {
|
|
res += " Server";
|
|
}
|
|
- if (lstrcmpiW(L"SERVERNT", szProductType) == 0) {
|
|
+ if (lstrcmpiW("SERVERNT", szProductType) == 0) {
|
|
res += " Advanced Server";
|
|
}
|
|
|
|
@@ -4418,7 +4418,7 @@ std::string SystemTools::GetOperatingSys
|
|
|
|
lRet = RegOpenKeyExW(
|
|
HKEY_LOCAL_MACHINE,
|
|
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009",
|
|
+ "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009",
|
|
0, KEY_QUERY_VALUE, &hKey);
|
|
|
|
if (lRet == ERROR_SUCCESS) {
|
|
diff -urp a/Source/kwsys/SystemTools.hxx.in b/Source/kwsys/SystemTools.hxx.in
|
|
--- a/Source/kwsys/SystemTools.hxx.in 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/SystemTools.hxx.in 2021-02-11 18:43:32.762502643 +0330
|
|
@@ -258,7 +258,7 @@ public:
|
|
|
|
#ifdef _WIN32
|
|
/** Calls Encoding::ToWindowsExtendedPath. */
|
|
- static std::wstring ConvertToWindowsExtendedPath(const std::string&);
|
|
+ static std::string ConvertToWindowsExtendedPath(const std::string&);
|
|
#endif
|
|
|
|
/**
|
|
diff -urp a/Source/kwsys/testConsoleBufChild.cxx b/Source/kwsys/testConsoleBufChild.cxx
|
|
--- a/Source/kwsys/testConsoleBufChild.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/testConsoleBufChild.cxx 2021-02-11 18:43:32.759169256 +0330
|
|
@@ -27,8 +27,8 @@ int main(int argc, const char* argv[])
|
|
std::cout << argv[1] << std::endl;
|
|
std::cerr << argv[1] << std::endl;
|
|
} else {
|
|
- std::string str = kwsys::Encoding::ToNarrow(std::wstring(
|
|
- UnicodeTestString, sizeof(UnicodeTestString) / sizeof(wchar_t) - 1));
|
|
+ std::string str = kwsys::Encoding::ToNarrow(std::string(
|
|
+ UnicodeTestString, sizeof(UnicodeTestString) / sizeof(char) - 1));
|
|
std::cout << str << std::endl;
|
|
std::cerr << str << std::endl;
|
|
}
|
|
diff -urp a/Source/kwsys/testConsoleBuf.cxx b/Source/kwsys/testConsoleBuf.cxx
|
|
--- a/Source/kwsys/testConsoleBuf.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/testConsoleBuf.cxx 2021-02-11 18:43:32.759169256 +0330
|
|
@@ -33,7 +33,7 @@
|
|
# endif
|
|
// يونيكود
|
|
static const WCHAR UnicodeInputTestString[] =
|
|
- L"\u064A\u0648\u0646\u064A\u0643\u0648\u062F!";
|
|
+ "\u064A\u0648\u0646\u064A\u0643\u0648\u062F!";
|
|
static UINT TestCodepage = KWSYS_ENCODING_DEFAULT_CODEPAGE;
|
|
|
|
static const DWORD waitTimeout = 10 * 1000;
|
|
@@ -68,7 +68,7 @@ std::basic_streambuf<char>* errstream(co
|
|
return std::cerr.rdbuf();
|
|
}
|
|
|
|
-std::basic_streambuf<wchar_t>* errstream(const wchar_t* unused)
|
|
+std::basic_streambuf<char>* errstream(const char* unused)
|
|
{
|
|
static_cast<void>(unused);
|
|
return std::wcerr.rdbuf();
|
|
@@ -133,7 +133,7 @@ static bool createProcess(HANDLE hIn, HA
|
|
p--;
|
|
*(p + 1) = 0;
|
|
wcscat(cmd, cmdConsoleBufChild);
|
|
- wcscat(cmd, L".exe");
|
|
+ wcscat(cmd, ".exe");
|
|
|
|
bool success =
|
|
CreateProcessW(nullptr, // No module name (use command line)
|
|
@@ -374,9 +374,9 @@ static int testFile()
|
|
HANDLE outFile = INVALID_HANDLE_VALUE;
|
|
HANDLE errFile = INVALID_HANDLE_VALUE;
|
|
try {
|
|
- if ((inFile = createFile(L"stdinFile.txt")) == INVALID_HANDLE_VALUE ||
|
|
- (outFile = createFile(L"stdoutFile.txt")) == INVALID_HANDLE_VALUE ||
|
|
- (errFile = createFile(L"stderrFile.txt")) == INVALID_HANDLE_VALUE) {
|
|
+ if ((inFile = createFile("stdinFile.txt")) == INVALID_HANDLE_VALUE ||
|
|
+ (outFile = createFile("stdoutFile.txt")) == INVALID_HANDLE_VALUE ||
|
|
+ (errFile = createFile("stderrFile.txt")) == INVALID_HANDLE_VALUE) {
|
|
throw std::runtime_error("createFile failed!");
|
|
}
|
|
DWORD bytesWritten = 0;
|
|
@@ -488,7 +488,7 @@ static int testConsole()
|
|
bool newConsole = false;
|
|
bool forceNewConsole = false;
|
|
bool restoreConsole = false;
|
|
- LPCWSTR TestFaceName = L"Lucida Console";
|
|
+ LPCWSTR TestFaceName = "Lucida Console";
|
|
const DWORD TestFontFamily = 0x00000036;
|
|
const DWORD TestFontSize = 0x000c0000;
|
|
HKEY hConsoleKey;
|
|
@@ -518,23 +518,23 @@ static int testConsole()
|
|
# endif
|
|
# endif
|
|
if (!isVistaOrGreater) {
|
|
- if (RegOpenKeyExW(HKEY_CURRENT_USER, L"Console", 0, KEY_READ | KEY_WRITE,
|
|
+ if (RegOpenKeyExW(HKEY_CURRENT_USER, "Console", 0, KEY_READ | KEY_WRITE,
|
|
&hConsoleKey) == ERROR_SUCCESS) {
|
|
DWORD dwordSize = sizeof(DWORD);
|
|
- if (RegQueryValueExW(hConsoleKey, L"FontFamily", nullptr, nullptr,
|
|
+ if (RegQueryValueExW(hConsoleKey, "FontFamily", nullptr, nullptr,
|
|
(LPBYTE)&FontFamily, &dwordSize) == ERROR_SUCCESS) {
|
|
if (FontFamily != TestFontFamily) {
|
|
- RegQueryValueExW(hConsoleKey, L"FaceName", nullptr, nullptr,
|
|
+ RegQueryValueExW(hConsoleKey, "FaceName", nullptr, nullptr,
|
|
(LPBYTE)FaceName, &FaceNameSize);
|
|
- RegQueryValueExW(hConsoleKey, L"FontSize", nullptr, nullptr,
|
|
+ RegQueryValueExW(hConsoleKey, "FontSize", nullptr, nullptr,
|
|
(LPBYTE)&FontSize, &dwordSize);
|
|
|
|
- RegSetValueExW(hConsoleKey, L"FontFamily", 0, REG_DWORD,
|
|
+ RegSetValueExW(hConsoleKey, "FontFamily", 0, REG_DWORD,
|
|
(BYTE*)&TestFontFamily, sizeof(TestFontFamily));
|
|
- RegSetValueExW(hConsoleKey, L"FaceName", 0, REG_SZ,
|
|
+ RegSetValueExW(hConsoleKey, "FaceName", 0, REG_SZ,
|
|
(BYTE*)TestFaceName,
|
|
(DWORD)((wcslen(TestFaceName) + 1) * sizeof(WCHAR)));
|
|
- RegSetValueExW(hConsoleKey, L"FontSize", 0, REG_DWORD,
|
|
+ RegSetValueExW(hConsoleKey, "FontSize", 0, REG_DWORD,
|
|
(BYTE*)&TestFontSize, sizeof(TestFontSize));
|
|
|
|
restoreConsole = true;
|
|
@@ -560,7 +560,7 @@ static int testConsole()
|
|
securityAttributes.nLength = sizeof(SECURITY_ATTRIBUTES);
|
|
securityAttributes.bInheritHandle = TRUE;
|
|
securityAttributes.lpSecurityDescriptor = nullptr;
|
|
- hIn = CreateFileW(L"CONIN$", GENERIC_READ | GENERIC_WRITE,
|
|
+ hIn = CreateFileW("CONIN$", GENERIC_READ | GENERIC_WRITE,
|
|
FILE_SHARE_READ | FILE_SHARE_WRITE, &securityAttributes,
|
|
OPEN_EXISTING, 0, nullptr);
|
|
if (hIn == INVALID_HANDLE_VALUE) {
|
|
@@ -568,7 +568,7 @@ static int testConsole()
|
|
std::cerr << "CreateFile(CONIN$)" << std::endl;
|
|
displayError(lastError);
|
|
}
|
|
- hOut = CreateFileW(L"CONOUT$", GENERIC_READ | GENERIC_WRITE,
|
|
+ hOut = CreateFileW("CONOUT$", GENERIC_READ | GENERIC_WRITE,
|
|
FILE_SHARE_READ | FILE_SHARE_WRITE, &securityAttributes,
|
|
OPEN_EXISTING, 0, nullptr);
|
|
if (hOut == INVALID_HANDLE_VALUE) {
|
|
@@ -587,7 +587,7 @@ static int testConsole()
|
|
CONSOLE_FONT_INFOEX consoleFont;
|
|
memset(&consoleFont, 0, sizeof(consoleFont));
|
|
consoleFont.cbSize = sizeof(consoleFont);
|
|
- HMODULE kernel32 = LoadLibraryW(L"kernel32.dll");
|
|
+ HMODULE kernel32 = LoadLibraryW("kernel32.dll");
|
|
typedef BOOL(WINAPI * GetCurrentConsoleFontExFunc)(
|
|
HANDLE hConsoleOutput, BOOL bMaximumWindow,
|
|
PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx);
|
|
@@ -614,17 +614,17 @@ static int testConsole()
|
|
} else {
|
|
# endif
|
|
if (restoreConsole &&
|
|
- RegOpenKeyExW(HKEY_CURRENT_USER, L"Console", 0, KEY_WRITE,
|
|
+ RegOpenKeyExW(HKEY_CURRENT_USER, "Console", 0, KEY_WRITE,
|
|
&hConsoleKey) == ERROR_SUCCESS) {
|
|
- RegSetValueExW(hConsoleKey, L"FontFamily", 0, REG_DWORD,
|
|
+ RegSetValueExW(hConsoleKey, "FontFamily", 0, REG_DWORD,
|
|
(BYTE*)&FontFamily, sizeof(FontFamily));
|
|
if (FaceName[0] != 0) {
|
|
- RegSetValueExW(hConsoleKey, L"FaceName", 0, REG_SZ, (BYTE*)FaceName,
|
|
+ RegSetValueExW(hConsoleKey, "FaceName", 0, REG_SZ, (BYTE*)FaceName,
|
|
FaceNameSize);
|
|
} else {
|
|
- RegDeleteValueW(hConsoleKey, L"FaceName");
|
|
+ RegDeleteValueW(hConsoleKey, "FaceName");
|
|
}
|
|
- RegSetValueExW(hConsoleKey, L"FontSize", 0, REG_DWORD, (BYTE*)&FontSize,
|
|
+ RegSetValueExW(hConsoleKey, "FontSize", 0, REG_DWORD, (BYTE*)&FontSize,
|
|
sizeof(FontSize));
|
|
RegCloseKey(hConsoleKey);
|
|
}
|
|
@@ -690,34 +690,34 @@ static int testConsole()
|
|
delete[] outputBuffer;
|
|
throw std::runtime_error("ReadConsoleOutputCharacter failed!");
|
|
}
|
|
- std::wstring wideTestString = kwsys::Encoding::ToWide(encodedTestString);
|
|
+ std::string wideTestString = kwsys::Encoding::ToWide(encodedTestString);
|
|
std::replace(wideTestString.begin(), wideTestString.end(), '\0', ' ');
|
|
- std::wstring wideInputTestString =
|
|
+ std::string wideInputTestString =
|
|
kwsys::Encoding::ToWide(encodedInputTestString);
|
|
if (memcmp(outputBuffer, wideTestString.c_str(),
|
|
- wideTestString.size() * sizeof(wchar_t)) == 0 &&
|
|
+ wideTestString.size() * sizeof(char)) == 0 &&
|
|
memcmp(outputBuffer + screenBufferInfo.dwSize.X * 1,
|
|
wideTestString.c_str(),
|
|
- wideTestString.size() * sizeof(wchar_t)) == 0 &&
|
|
+ wideTestString.size() * sizeof(char)) == 0 &&
|
|
memcmp(outputBuffer + screenBufferInfo.dwSize.X * 2,
|
|
UnicodeInputTestString,
|
|
sizeof(UnicodeInputTestString) - sizeof(WCHAR)) == 0 &&
|
|
memcmp(outputBuffer + screenBufferInfo.dwSize.X * 3,
|
|
wideInputTestString.c_str(),
|
|
- (wideInputTestString.size() - 1) * sizeof(wchar_t)) == 0) {
|
|
+ (wideInputTestString.size() - 1) * sizeof(char)) == 0) {
|
|
didFail = 0;
|
|
} else {
|
|
std::cerr << "Console's output didn't match expected output!"
|
|
<< std::endl;
|
|
- dumpBuffers<wchar_t>(wideTestString.c_str(), outputBuffer,
|
|
+ dumpBuffers<char>(wideTestString.c_str(), outputBuffer,
|
|
wideTestString.size());
|
|
- dumpBuffers<wchar_t>(wideTestString.c_str(),
|
|
+ dumpBuffers<char>(wideTestString.c_str(),
|
|
outputBuffer + screenBufferInfo.dwSize.X * 1,
|
|
wideTestString.size());
|
|
- dumpBuffers<wchar_t>(
|
|
+ dumpBuffers<char>(
|
|
UnicodeInputTestString, outputBuffer + screenBufferInfo.dwSize.X * 2,
|
|
(sizeof(UnicodeInputTestString) - 1) / sizeof(WCHAR));
|
|
- dumpBuffers<wchar_t>(wideInputTestString.c_str(),
|
|
+ dumpBuffers<char>(wideInputTestString.c_str(),
|
|
outputBuffer + screenBufferInfo.dwSize.X * 3,
|
|
wideInputTestString.size() - 1);
|
|
}
|
|
@@ -763,11 +763,11 @@ int testConsoleBuf(int, char* [])
|
|
return 1;
|
|
}
|
|
|
|
- encodedTestString = kwsys::Encoding::ToNarrow(std::wstring(
|
|
- UnicodeTestString, sizeof(UnicodeTestString) / sizeof(wchar_t) - 1));
|
|
+ encodedTestString = kwsys::Encoding::ToNarrow(std::string(
|
|
+ UnicodeTestString, sizeof(UnicodeTestString) / sizeof(char) - 1));
|
|
encodedInputTestString = kwsys::Encoding::ToNarrow(
|
|
- std::wstring(UnicodeInputTestString,
|
|
- sizeof(UnicodeInputTestString) / sizeof(wchar_t) - 1));
|
|
+ std::string(UnicodeInputTestString,
|
|
+ sizeof(UnicodeInputTestString) / sizeof(char) - 1));
|
|
encodedInputTestString += "\n";
|
|
|
|
ret |= testPipe();
|
|
diff -urp a/Source/kwsys/testConsoleBuf.hxx b/Source/kwsys/testConsoleBuf.hxx
|
|
--- a/Source/kwsys/testConsoleBuf.hxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/testConsoleBuf.hxx 2021-02-11 18:43:32.762502643 +0330
|
|
@@ -3,15 +3,15 @@
|
|
#ifndef testConsoleBuf_hxx
|
|
#define testConsoleBuf_hxx
|
|
|
|
-static const wchar_t cmdConsoleBufChild[] = L"testConsoleBufChild";
|
|
+static const char cmdConsoleBufChild[] = "testConsoleBufChild";
|
|
|
|
-static const wchar_t BeforeInputEventName[] = L"BeforeInputEvent";
|
|
-static const wchar_t AfterOutputEventName[] = L"AfterOutputEvent";
|
|
+static const char BeforeInputEventName[] = "BeforeInputEvent";
|
|
+static const char AfterOutputEventName[] = "AfterOutputEvent";
|
|
|
|
// यूनिकोड είναι здорово!
|
|
-static const wchar_t UnicodeTestString[] =
|
|
- L"\u092F\u0942\u0928\u093F\u0915\u094B\u0921 "
|
|
- L"\u03B5\u03AF\u03BD\0\u03B1\u03B9 "
|
|
- L"\u0437\u0434\u043E\u0440\u043E\u0432\u043E!";
|
|
+static const char UnicodeTestString[] =
|
|
+ "\u092F\u0942\u0928\u093F\u0915\u094B\u0921 "
|
|
+ "\u03B5\u03AF\u03BD\0\u03B1\u03B9 "
|
|
+ "\u0437\u0434\u043E\u0440\u043E\u0432\u043E!";
|
|
|
|
#endif
|
|
diff -urp a/Source/kwsys/testEncoding.cxx b/Source/kwsys/testEncoding.cxx
|
|
--- a/Source/kwsys/testEncoding.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/kwsys/testEncoding.cxx 2021-02-11 18:43:32.815836824 +0330
|
|
@@ -55,9 +55,9 @@ static int testHelloWorldEncoding()
|
|
for (int i = 0; helloWorldStrings[i][0] != 0; i++) {
|
|
std::string str = reinterpret_cast<const char*>(helloWorldStrings[i]);
|
|
std::cout << str << std::endl;
|
|
- std::wstring wstr = kwsys::Encoding::ToWide(str);
|
|
+ std::string wstr = kwsys::Encoding::ToWide(str);
|
|
std::string str2 = kwsys::Encoding::ToNarrow(wstr);
|
|
- wchar_t* c_wstr = kwsysEncoding_DupToWide(str.c_str());
|
|
+ char* c_wstr = kwsysEncoding_DupToWide(str.c_str());
|
|
char* c_str2 = kwsysEncoding_DupToNarrow(c_wstr);
|
|
if (!wstr.empty() && (str != str2 || strcmp(c_str2, str.c_str()) != 0)) {
|
|
std::cout << "converted string was different: " << str2 << std::endl;
|
|
@@ -82,11 +82,11 @@ static int testRobustEncoding()
|
|
int ret = 0;
|
|
char cstr[] = { (char)-1, 0 };
|
|
// this conversion could fail
|
|
- std::wstring wstr = kwsys::Encoding::ToWide(cstr);
|
|
+ std::string wstr = kwsys::Encoding::ToWide(cstr);
|
|
|
|
wstr = kwsys::Encoding::ToWide(nullptr);
|
|
if (!wstr.empty()) {
|
|
- const wchar_t* wcstr = wstr.c_str();
|
|
+ const char* wcstr = wstr.c_str();
|
|
std::cout << "ToWide(NULL) returned";
|
|
for (size_t i = 0; i < wstr.size(); i++) {
|
|
std::cout << " " << std::hex << (int)wcstr[i];
|
|
@@ -96,7 +96,7 @@ static int testRobustEncoding()
|
|
}
|
|
wstr = kwsys::Encoding::ToWide("");
|
|
if (!wstr.empty()) {
|
|
- const wchar_t* wcstr = wstr.c_str();
|
|
+ const char* wcstr = wstr.c_str();
|
|
std::cout << "ToWide(\"\") returned";
|
|
for (size_t i = 0; i < wstr.size(); i++) {
|
|
std::cout << " " << std::hex << (int)wcstr[i];
|
|
@@ -106,8 +106,8 @@ static int testRobustEncoding()
|
|
}
|
|
|
|
#ifdef _WIN32
|
|
- // 16 bit wchar_t - we make an invalid surrogate pair
|
|
- wchar_t cwstr[] = { 0xD801, 0xDA00, 0 };
|
|
+ // 16 bit char - we make an invalid surrogate pair
|
|
+ char cwstr[] = { 0xD801, 0xDA00, 0 };
|
|
// this conversion could fail
|
|
std::string win_str = kwsys::Encoding::ToNarrow(cwstr);
|
|
#endif
|
|
@@ -118,7 +118,7 @@ static int testRobustEncoding()
|
|
ret++;
|
|
}
|
|
|
|
- str = kwsys::Encoding::ToNarrow(L"");
|
|
+ str = kwsys::Encoding::ToNarrow("");
|
|
if (!wstr.empty()) {
|
|
std::cout << "ToNarrow(\"\") returned " << str << std::endl;
|
|
ret++;
|
|
@@ -141,7 +141,7 @@ static int testWithNulls()
|
|
strings.push_back(std::string("\0\0\0\0", 4) + "lmn" +
|
|
std::string("\0\0\0\0", 4));
|
|
for (auto& string : strings) {
|
|
- std::wstring wstr = kwsys::Encoding::ToWide(string);
|
|
+ std::string wstr = kwsys::Encoding::ToWide(string);
|
|
std::string str = kwsys::Encoding::ToNarrow(wstr);
|
|
std::string s(string);
|
|
std::replace(s.begin(), s.end(), '\0', ' ');
|
|
@@ -188,7 +188,7 @@ static int testToWindowsExtendedPath()
|
|
int ret = 0;
|
|
if (kwsys::Encoding::ToWindowsExtendedPath(
|
|
"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") !=
|
|
- L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
+ "\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\""
|
|
<< std::endl;
|
|
@@ -197,7 +197,7 @@ static int testToWindowsExtendedPath()
|
|
|
|
if (kwsys::Encoding::ToWindowsExtendedPath(
|
|
"L:/Local Mojo/Hex Power Pack/Iffy Voodoo") !=
|
|
- L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
+ "\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"L:/Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl;
|
|
++ret;
|
|
@@ -205,7 +205,7 @@ static int testToWindowsExtendedPath()
|
|
|
|
if (kwsys::Encoding::ToWindowsExtendedPath(
|
|
"\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") !=
|
|
- L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
+ "\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\""
|
|
<< std::endl;
|
|
@@ -214,40 +214,40 @@ static int testToWindowsExtendedPath()
|
|
|
|
if (kwsys::Encoding::ToWindowsExtendedPath(
|
|
"//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo") !=
|
|
- L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
+ "\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo\""
|
|
<< std::endl;
|
|
++ret;
|
|
}
|
|
|
|
- if (kwsys::Encoding::ToWindowsExtendedPath("//") != L"//") {
|
|
+ if (kwsys::Encoding::ToWindowsExtendedPath("//") != "//") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"//\"" << std::endl;
|
|
++ret;
|
|
}
|
|
|
|
- if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\") != L"\\\\.\\") {
|
|
+ if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\") != "\\\\.\\") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"\\\\.\\\"" << std::endl;
|
|
++ret;
|
|
}
|
|
|
|
- if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X") != L"\\\\.\\X") {
|
|
+ if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X") != "\\\\.\\X") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"\\\\.\\X\"" << std::endl;
|
|
++ret;
|
|
}
|
|
|
|
- if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X:") != L"\\\\?\\X:") {
|
|
+ if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X:") != "\\\\?\\X:") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"\\\\.\\X:\"" << std::endl;
|
|
++ret;
|
|
}
|
|
|
|
if (kwsys::Encoding::ToWindowsExtendedPath("\\\\.\\X:\\") !=
|
|
- L"\\\\?\\X:\\") {
|
|
+ "\\\\?\\X:\\") {
|
|
std::cout << "Problem with ToWindowsExtendedPath "
|
|
<< "\"\\\\.\\X:\\\"" << std::endl;
|
|
++ret;
|
|
}
|
|
diff -urp a/Source/LexerParser/cmListFileLexer.c b/Source/LexerParser/cmListFileLexer.c
|
|
--- a/Source/LexerParser/cmListFileLexer.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/LexerParser/cmListFileLexer.c 2021-02-11 18:43:32.715835234 +0330
|
|
@@ -2746,8 +2746,8 @@ int cmListFileLexer_SetFileName(cmListFi
|
|
cmListFileLexerDestroy(lexer);
|
|
if (name) {
|
|
#ifdef _WIN32
|
|
- wchar_t* wname = cmsysEncoding_DupToWide(name);
|
|
- lexer->file = _wfopen(wname, L"rb");
|
|
+ char* wname = cmsysEncoding_DupToWide(name);
|
|
+ lexer->file = _wfopen(wname, "rb");
|
|
free(wname);
|
|
#else
|
|
lexer->file = fopen(name, "rb");
|
|
diff -urp a/Source/LexerParser/cmListFileLexer.in.l b/Source/LexerParser/cmListFileLexer.in.l
|
|
--- a/Source/LexerParser/cmListFileLexer.in.l 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Source/LexerParser/cmListFileLexer.in.l 2021-02-11 18:43:32.725835393 +0330
|
|
@@ -459,8 +459,8 @@ int cmListFileLexer_SetFileName(cmListFi
|
|
cmListFileLexerDestroy(lexer);
|
|
if (name) {
|
|
#ifdef _WIN32
|
|
- wchar_t* wname = cmsysEncoding_DupToWide(name);
|
|
- lexer->file = _wfopen(wname, L"rb");
|
|
+ char* wname = cmsysEncoding_DupToWide(name);
|
|
+ lexer->file = _wfopen(wname, "rb");
|
|
free(wname);
|
|
#else
|
|
lexer->file = fopen(name, "rb");
|
|
diff -urp a/Templates/MSBuild/FlagTables/v10_CL.json b/Templates/MSBuild/FlagTables/v10_CL.json
|
|
--- a/Templates/MSBuild/FlagTables/v10_CL.json 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Templates/MSBuild/FlagTables/v10_CL.json 2021-02-11 18:43:34.969204192 +0330
|
|
@@ -678,14 +678,14 @@
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t-",
|
|
+ "switch": "Zc:char-",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "false",
|
|
"flags": []
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t",
|
|
+ "switch": "Zc:char",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "true",
|
|
"flags": []
|
|
diff -urp a/Templates/MSBuild/FlagTables/v11_CL.json b/Templates/MSBuild/FlagTables/v11_CL.json
|
|
--- a/Templates/MSBuild/FlagTables/v11_CL.json 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Templates/MSBuild/FlagTables/v11_CL.json 2021-02-11 18:43:34.969204192 +0330
|
|
@@ -741,14 +741,14 @@
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t-",
|
|
+ "switch": "Zc:char-",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "false",
|
|
"flags": []
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t",
|
|
+ "switch": "Zc:char",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "true",
|
|
"flags": []
|
|
diff -urp a/Templates/MSBuild/FlagTables/v12_CL.json b/Templates/MSBuild/FlagTables/v12_CL.json
|
|
--- a/Templates/MSBuild/FlagTables/v12_CL.json 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Templates/MSBuild/FlagTables/v12_CL.json 2021-02-11 18:43:34.955870650 +0330
|
|
@@ -755,14 +755,14 @@
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t-",
|
|
+ "switch": "Zc:char-",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "false",
|
|
"flags": []
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t",
|
|
+ "switch": "Zc:char",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "true",
|
|
"flags": []
|
|
diff -urp a/Templates/MSBuild/FlagTables/v140_CL.json b/Templates/MSBuild/FlagTables/v140_CL.json
|
|
--- a/Templates/MSBuild/FlagTables/v140_CL.json 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Templates/MSBuild/FlagTables/v140_CL.json 2021-02-11 18:43:34.965870807 +0330
|
|
@@ -762,14 +762,14 @@
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t-",
|
|
+ "switch": "Zc:char-",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "false",
|
|
"flags": []
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t",
|
|
+ "switch": "Zc:char",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "true",
|
|
"flags": []
|
|
diff -urp a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json
|
|
--- a/Templates/MSBuild/FlagTables/v141_CL.json 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Templates/MSBuild/FlagTables/v141_CL.json 2021-02-11 18:43:34.969204192 +0330
|
|
@@ -825,14 +825,14 @@
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t-",
|
|
+ "switch": "Zc:char-",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "false",
|
|
"flags": []
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t",
|
|
+ "switch": "Zc:char",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "true",
|
|
"flags": []
|
|
diff -urp a/Templates/MSBuild/FlagTables/v142_CL.json b/Templates/MSBuild/FlagTables/v142_CL.json
|
|
--- a/Templates/MSBuild/FlagTables/v142_CL.json 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Templates/MSBuild/FlagTables/v142_CL.json 2021-02-11 18:43:34.965870807 +0330
|
|
@@ -860,14 +860,14 @@
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t-",
|
|
+ "switch": "Zc:char-",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "false",
|
|
"flags": []
|
|
},
|
|
{
|
|
"name": "TreatWChar_tAsBuiltInType",
|
|
- "switch": "Zc:wchar_t",
|
|
+ "switch": "Zc:char",
|
|
"comment": "Treat WChar_t As Built in Type",
|
|
"value": "true",
|
|
"flags": []
|
|
diff -urp a/Tests/CMakeLib/testCMFilesystemPath.cxx b/Tests/CMakeLib/testCMFilesystemPath.cxx
|
|
--- a/Tests/CMakeLib/testCMFilesystemPath.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Tests/CMakeLib/testCMFilesystemPath.cxx 2021-02-11 18:43:30.792471215 +0330
|
|
@@ -66,7 +66,7 @@ bool testConstructors()
|
|
#endif
|
|
}
|
|
{
|
|
- std::wstring s(L"/a/b/c");
|
|
+ std::string s("/a/b/c");
|
|
fs::path p1(s);
|
|
fs::path p2(s.begin(), s.end());
|
|
if (p1 != p2) {
|
|
@@ -76,7 +76,7 @@ bool testConstructors()
|
|
result = false;
|
|
}
|
|
#if CM_FILESYSTEM_SOURCE_TRAITS_ITERATOR
|
|
- std::wstring s2(s);
|
|
+ std::string s2(s);
|
|
s2 += L'\0';
|
|
fs::path p3(s2.begin());
|
|
if (p1 != p3 || p3.wstring() != s) {
|
|
@@ -276,7 +276,7 @@ bool testObservers()
|
|
}
|
|
{
|
|
std::string s("a//b//c");
|
|
- std::wstring ws(L"a//b//c");
|
|
+ std::string ws("a//b//c");
|
|
fs::path p(s);
|
|
if (p.string() != s || p.wstring() != ws) {
|
|
result = false;
|
|
@@ -284,9 +284,9 @@ bool testObservers()
|
|
}
|
|
{
|
|
std::string s("a/b/c");
|
|
- std::wstring ws;
|
|
+ std::string ws;
|
|
for (auto c : s) {
|
|
- ws += static_cast<std::wstring::value_type>(c);
|
|
+ ws += static_cast<std::string::value_type>(c);
|
|
}
|
|
std::string ns(s);
|
|
std::replace(
|
|
@@ -861,7 +861,7 @@ bool testIterators()
|
|
{
|
|
fs::path p("/a/b/");
|
|
#if defined(_WIN32)
|
|
- std::vector<fs::path::string_type> ref{ L"/", L"a", L"b", L"" };
|
|
+ std::vector<fs::path::string_type> ref{ "/", "a", "b", "" };
|
|
#else
|
|
std::vector<fs::path::string_type> ref{ "/", "a", "b", "" };
|
|
#endif
|
|
@@ -883,7 +883,7 @@ bool testIterators()
|
|
{
|
|
fs::path p("/a/b/");
|
|
#if defined(_WIN32)
|
|
- std::vector<fs::path::string_type> ref{ L"", L"b", L"a", L"/" };
|
|
+ std::vector<fs::path::string_type> ref{ "", "b", "a", "/" };
|
|
#else
|
|
std::vector<fs::path::string_type> ref{ "", "b", "a", "/" };
|
|
#endif
|
|
diff -urp a/Tests/FindPython/display_time.c b/Tests/FindPython/display_time.c
|
|
--- a/Tests/FindPython/display_time.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Tests/FindPython/display_time.c 2021-02-11 18:43:30.875805885 +0330
|
|
@@ -9,7 +9,7 @@
|
|
void display_time()
|
|
{
|
|
#if defined(PYTHON3)
|
|
- wchar_t* program = Py_DecodeLocale("display_time", NULL);
|
|
+ char* program = Py_DecodeLocale("display_time", NULL);
|
|
if (program == NULL) {
|
|
fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
|
|
exit(1);
|
|
diff -urp a/Tests/Plugin/src/DynamicLoader.cxx b/Tests/Plugin/src/DynamicLoader.cxx
|
|
--- a/Tests/Plugin/src/DynamicLoader.cxx 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Tests/Plugin/src/DynamicLoader.cxx 2021-02-11 18:43:30.512466723 +0330
|
|
@@ -94,7 +94,7 @@ DynamicLoader::LibraryHandle DynamicLoad
|
|
{
|
|
DynamicLoader::LibraryHandle lh;
|
|
int length = MultiByteToWideChar(CP_UTF8, 0, libname.c_str(), -1, NULL, 0);
|
|
- wchar_t* wchars = new wchar_t[length + 1];
|
|
+ char* wchars = new char[length + 1];
|
|
wchars[0] = '\0';
|
|
MultiByteToWideChar(CP_UTF8, 0, libname.c_str(), -1, wchars, length);
|
|
lh = LoadLibraryW(wchars);
|
|
diff -urp a/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.h b/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.h
|
|
--- a/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Tests/VSWindowsFormsResx/WindowsFormsResx/MyForm.h 2021-02-11 18:43:32.605833485 +0330
|
|
@@ -58,10 +58,10 @@ private:
|
|
// button1
|
|
//
|
|
this->button1->Location = System::Drawing::Point(13, 13);
|
|
- this->button1->Name = L"button1";
|
|
+ this->button1->Name = "button1";
|
|
this->button1->Size = System::Drawing::Size(75, 23);
|
|
this->button1->TabIndex = 0;
|
|
- this->button1->Text = L"button1";
|
|
+ this->button1->Text = "button1";
|
|
this->button1->UseVisualStyleBackColor = true;
|
|
//
|
|
// MyForm
|
|
@@ -70,8 +70,8 @@ private:
|
|
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
|
|
this->ClientSize = System::Drawing::Size(284, 261);
|
|
this->Controls->Add(this->button1);
|
|
- this->Name = L"MyForm";
|
|
- this->Text = L"MyForm";
|
|
+ this->Name = "MyForm";
|
|
+ this->Text = "MyForm";
|
|
this->ResumeLayout(false);
|
|
}
|
|
#pragma endregion
|
|
diff -urp a/Utilities/cmcurl/lib/curl_multibyte.c b/Utilities/cmcurl/lib/curl_multibyte.c
|
|
--- a/Utilities/cmcurl/lib/curl_multibyte.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/curl_multibyte.c 2021-02-11 18:43:33.732518016 +0330
|
|
@@ -34,15 +34,15 @@
|
|
* MultiByte conversions using Windows kernel32 library.
|
|
*/
|
|
|
|
-wchar_t *curlx_convert_UTF8_to_wchar(const char *str_utf8)
|
|
+char *curlx_convert_UTF8_to_wchar(const char *str_utf8)
|
|
{
|
|
- wchar_t *str_w = NULL;
|
|
+ char *str_w = NULL;
|
|
|
|
if(str_utf8) {
|
|
int str_w_len = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS,
|
|
str_utf8, -1, NULL, 0);
|
|
if(str_w_len > 0) {
|
|
- str_w = malloc(str_w_len * sizeof(wchar_t));
|
|
+ str_w = malloc(str_w_len * sizeof(char));
|
|
if(str_w) {
|
|
if(MultiByteToWideChar(CP_UTF8, 0, str_utf8, -1, str_w,
|
|
str_w_len) == 0) {
|
|
@@ -56,7 +56,7 @@ wchar_t *curlx_convert_UTF8_to_wchar(con
|
|
return str_w;
|
|
}
|
|
|
|
-char *curlx_convert_wchar_to_UTF8(const wchar_t *str_w)
|
|
+char *curlx_convert_charo_UTF8(const char *str_w)
|
|
{
|
|
char *str_utf8 = NULL;
|
|
|
|
@@ -86,8 +86,8 @@ FILE *curlx_win32_fopen(const char *file
|
|
{
|
|
#ifdef _UNICODE
|
|
FILE *result = NULL;
|
|
- wchar_t *filename_w = curlx_convert_UTF8_to_wchar(filename);
|
|
- wchar_t *mode_w = curlx_convert_UTF8_to_wchar(mode);
|
|
+ char *filename_w = curlx_convert_UTF8_to_wchar(filename);
|
|
+ char *mode_w = curlx_convert_UTF8_to_wchar(mode);
|
|
if(filename_w && mode_w)
|
|
result = _wfopen(filename_w, mode_w);
|
|
free(filename_w);
|
|
@@ -103,7 +103,7 @@ int curlx_win32_stat(const char *path, s
|
|
{
|
|
int result = -1;
|
|
#ifdef _UNICODE
|
|
- wchar_t *path_w = curlx_convert_UTF8_to_wchar(path);
|
|
+ char *path_w = curlx_convert_UTF8_to_wchar(path);
|
|
#endif /* _UNICODE */
|
|
|
|
#if defined(USE_WIN32_SMALL_FILES)
|
|
@@ -133,7 +133,7 @@ int curlx_win32_access(const char *path,
|
|
{
|
|
int result = -1;
|
|
#ifdef _UNICODE
|
|
- wchar_t *path_w = curlx_convert_UTF8_to_wchar(path);
|
|
+ char *path_w = curlx_convert_UTF8_to_wchar(path);
|
|
#endif /* _UNICODE */
|
|
|
|
#if defined(_UNICODE)
|
|
diff -urp a/Utilities/cmcurl/lib/curl_multibyte.h b/Utilities/cmcurl/lib/curl_multibyte.h
|
|
--- a/Utilities/cmcurl/lib/curl_multibyte.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/curl_multibyte.h 2021-02-11 18:43:33.832519600 +0330
|
|
@@ -29,8 +29,8 @@
|
|
* MultiByte conversions using Windows kernel32 library.
|
|
*/
|
|
|
|
-wchar_t *curlx_convert_UTF8_to_wchar(const char *str_utf8);
|
|
-char *curlx_convert_wchar_to_UTF8(const wchar_t *str_w);
|
|
+char *curlx_convert_UTF8_to_wchar(const char *str_utf8);
|
|
+char *curlx_convert_charo_UTF8(const char *str_w);
|
|
|
|
#endif /* WIN32 */
|
|
|
|
@@ -55,7 +55,7 @@ char *curlx_convert_wchar_to_UTF8(const
|
|
#if defined(UNICODE) && defined(WIN32)
|
|
|
|
#define curlx_convert_UTF8_to_tchar(ptr) curlx_convert_UTF8_to_wchar((ptr))
|
|
-#define curlx_convert_tchar_to_UTF8(ptr) curlx_convert_wchar_to_UTF8((ptr))
|
|
+#define curlx_convert_tchar_to_UTF8(ptr) curlx_convert_charo_UTF8((ptr))
|
|
#define curlx_unicodefree(ptr) \
|
|
do { \
|
|
if(ptr) { \
|
|
diff -urp a/Utilities/cmcurl/lib/curl_setup_once.h b/Utilities/cmcurl/lib/curl_setup_once.h
|
|
--- a/Utilities/cmcurl/lib/curl_setup_once.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/curl_setup_once.h 2021-02-11 18:43:33.869186847 +0330
|
|
@@ -482,7 +482,7 @@ typedef int sig_atomic_t;
|
|
#ifdef __VMS
|
|
#define argv_item_t __char_ptr32
|
|
#elif defined(_UNICODE)
|
|
-#define argv_item_t wchar_t *
|
|
+#define argv_item_t char *
|
|
#else
|
|
#define argv_item_t char *
|
|
#endif
|
|
diff -urp a/Utilities/cmcurl/lib/curl_sspi.c b/Utilities/cmcurl/lib/curl_sspi.c
|
|
--- a/Utilities/cmcurl/lib/curl_sspi.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/curl_sspi.c 2021-02-11 18:43:33.792518966 +0330
|
|
@@ -41,7 +41,7 @@ typedef PSecurityFunctionTable (APIENTRY
|
|
/* See definition of SECURITY_ENTRYPOINT in sspi.h */
|
|
#ifdef UNICODE
|
|
# ifdef _WIN32_WCE
|
|
-# define SECURITYENTRYPOINT L"InitSecurityInterfaceW"
|
|
+# define SECURITYENTRYPOINT "InitSecurityInterfaceW"
|
|
# else
|
|
# define SECURITYENTRYPOINT "InitSecurityInterfaceW"
|
|
# endif
|
|
diff -urp a/Utilities/cmcurl/lib/curlx.h b/Utilities/cmcurl/lib/curlx.h
|
|
--- a/Utilities/cmcurl/lib/curlx.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/curlx.h 2021-02-11 18:43:33.722517857 +0330
|
|
@@ -57,7 +57,7 @@
|
|
/* "curl_multibyte.h" provides these functions and macros:
|
|
|
|
curlx_convert_UTF8_to_wchar()
|
|
- curlx_convert_wchar_to_UTF8()
|
|
+ curlx_convert_charo_UTF8()
|
|
curlx_convert_UTF8_to_tchar()
|
|
curlx_convert_tchar_to_UTF8()
|
|
curlx_unicodefree()
|
|
diff -urp a/Utilities/cmcurl/lib/idn_win32.c b/Utilities/cmcurl/lib/idn_win32.c
|
|
--- a/Utilities/cmcurl/lib/idn_win32.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/idn_win32.c 2021-02-11 18:43:33.875853618 +0330
|
|
@@ -72,13 +72,13 @@ bool curl_win32_idn_to_ascii(const char
|
|
{
|
|
bool success = FALSE;
|
|
|
|
- wchar_t *in_w = curlx_convert_UTF8_to_wchar(in);
|
|
+ char *in_w = curlx_convert_UTF8_to_wchar(in);
|
|
if(in_w) {
|
|
- wchar_t punycode[IDN_MAX_LENGTH];
|
|
+ char punycode[IDN_MAX_LENGTH];
|
|
int chars = IdnToAscii(0, in_w, -1, punycode, IDN_MAX_LENGTH);
|
|
free(in_w);
|
|
if(chars) {
|
|
- *out = curlx_convert_wchar_to_UTF8(punycode);
|
|
+ *out = curlx_convert_charo_UTF8(punycode);
|
|
if(*out)
|
|
success = TRUE;
|
|
}
|
|
@@ -91,15 +91,15 @@ bool curl_win32_ascii_to_idn(const char
|
|
{
|
|
bool success = FALSE;
|
|
|
|
- wchar_t *in_w = curlx_convert_UTF8_to_wchar(in);
|
|
+ char *in_w = curlx_convert_UTF8_to_wchar(in);
|
|
if(in_w) {
|
|
size_t in_len = wcslen(in_w) + 1;
|
|
- wchar_t unicode[IDN_MAX_LENGTH];
|
|
+ char unicode[IDN_MAX_LENGTH];
|
|
int chars = IdnToUnicode(0, in_w, curlx_uztosi(in_len),
|
|
unicode, IDN_MAX_LENGTH);
|
|
free(in_w);
|
|
if(chars) {
|
|
- *out = curlx_convert_wchar_to_UTF8(unicode);
|
|
+ *out = curlx_convert_charo_UTF8(unicode);
|
|
if(*out)
|
|
success = TRUE;
|
|
}
|
|
diff -urp a/Utilities/cmcurl/lib/memdebug.c b/Utilities/cmcurl/lib/memdebug.c
|
|
--- a/Utilities/cmcurl/lib/memdebug.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/memdebug.c 2021-02-11 18:43:33.732518016 +0330
|
|
@@ -238,9 +238,9 @@ char *curl_dbg_strdup(const char *str, i
|
|
}
|
|
|
|
#if defined(WIN32) && defined(UNICODE)
|
|
-wchar_t *curl_dbg_wcsdup(const wchar_t *str, int line, const char *source)
|
|
+char *curl_dbg_wcsdup(const char *str, int line, const char *source)
|
|
{
|
|
- wchar_t *mem;
|
|
+ char *mem;
|
|
size_t wsiz, bsiz;
|
|
|
|
DEBUGASSERT(str != NULL);
|
|
@@ -249,7 +249,7 @@ wchar_t *curl_dbg_wcsdup(const wchar_t *
|
|
return NULL;
|
|
|
|
wsiz = wcslen(str) + 1;
|
|
- bsiz = wsiz * sizeof(wchar_t);
|
|
+ bsiz = wsiz * sizeof(char);
|
|
|
|
mem = curl_dbg_malloc(bsiz, 0, NULL); /* NULL prevents logging */
|
|
if(mem)
|
|
diff -urp a/Utilities/cmcurl/lib/memdebug.h b/Utilities/cmcurl/lib/memdebug.h
|
|
--- a/Utilities/cmcurl/lib/memdebug.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/memdebug.h 2021-02-11 18:43:33.832519600 +0330
|
|
@@ -41,7 +41,7 @@ CURL_EXTERN void *curl_dbg_realloc(void
|
|
CURL_EXTERN void curl_dbg_free(void *ptr, int line, const char *source);
|
|
CURL_EXTERN char *curl_dbg_strdup(const char *str, int line, const char *src);
|
|
#if defined(WIN32) && defined(UNICODE)
|
|
-CURL_EXTERN wchar_t *curl_dbg_wcsdup(const wchar_t *str, int line,
|
|
+CURL_EXTERN char *curl_dbg_wcsdup(const char *str, int line,
|
|
const char *source);
|
|
#endif
|
|
|
|
diff -urp a/Utilities/cmcurl/lib/setup-win32.h b/Utilities/cmcurl/lib/setup-win32.h
|
|
--- a/Utilities/cmcurl/lib/setup-win32.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/setup-win32.h 2021-02-11 18:43:33.872520232 +0330
|
|
@@ -54,7 +54,7 @@
|
|
# endif
|
|
# include <tchar.h>
|
|
# ifdef UNICODE
|
|
- typedef wchar_t *(*curl_wcsdup_callback)(const wchar_t *str);
|
|
+ typedef char *(*curl_wcsdup_callback)(const char *str);
|
|
# endif
|
|
#endif
|
|
|
|
diff -urp a/Utilities/cmcurl/lib/strerror.c b/Utilities/cmcurl/lib/strerror.c
|
|
--- a/Utilities/cmcurl/lib/strerror.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/strerror.c 2021-02-11 18:43:33.752518332 +0330
|
|
@@ -660,12 +660,12 @@ get_winapi_error(int err, char *buf, siz
|
|
|
|
#ifdef _WIN32_WCE
|
|
{
|
|
- wchar_t wbuf[256];
|
|
+ char wbuf[256];
|
|
wbuf[0] = L'\0';
|
|
|
|
if(FormatMessage((FORMAT_MESSAGE_FROM_SYSTEM |
|
|
FORMAT_MESSAGE_IGNORE_INSERTS), NULL, err,
|
|
- LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL)) {
|
|
+ LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(char), NULL)) {
|
|
size_t written = wcstombs(buf, wbuf, buflen - 1);
|
|
if(written != (size_t)-1)
|
|
buf[written] = '\0';
|
|
diff -urp a/Utilities/cmcurl/lib/system_win32.c b/Utilities/cmcurl/lib/system_win32.c
|
|
--- a/Utilities/cmcurl/lib/system_win32.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/system_win32.c 2021-02-11 18:43:33.832519600 +0330
|
|
@@ -152,7 +152,7 @@ typedef HMODULE (APIENTRY *LOADLIBRARYEX
|
|
/* See function definitions in winbase.h */
|
|
#ifdef UNICODE
|
|
# ifdef _WIN32_WCE
|
|
-# define LOADLIBARYEX L"LoadLibraryExW"
|
|
+# define LOADLIBARYEX "LoadLibraryExW"
|
|
# else
|
|
# define LOADLIBARYEX "LoadLibraryExW"
|
|
# endif
|
|
diff -urp a/Utilities/cmcurl/lib/vtls/schannel.c b/Utilities/cmcurl/lib/vtls/schannel.c
|
|
--- a/Utilities/cmcurl/lib/vtls/schannel.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/vtls/schannel.c 2021-02-11 18:43:33.765851877 +0330
|
|
@@ -70,7 +70,7 @@
|
|
#endif
|
|
|
|
#ifndef UNISP_NAME_W
|
|
-#define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"
|
|
+#define UNISP_NAME_W "Microsoft Unified Security Protocol Provider"
|
|
#endif
|
|
|
|
#ifndef UNISP_NAME
|
|
diff -urp a/Utilities/cmcurl/lib/vtls/schannel_verify.c b/Utilities/cmcurl/lib/vtls/schannel_verify.c
|
|
--- a/Utilities/cmcurl/lib/vtls/schannel_verify.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmcurl/lib/vtls/schannel_verify.c 2021-02-11 18:43:33.769185263 +0330
|
|
@@ -384,7 +384,7 @@ static DWORD cert_get_name_string(struct
|
|
/* Iterate over the alternate names and populate host_names. */
|
|
for(i = 0; i < alt_name_info->cAltEntry; i++) {
|
|
const CERT_ALT_NAME_ENTRY *entry = &alt_name_info->rgAltEntry[i];
|
|
- wchar_t *dns_w = NULL;
|
|
+ char *dns_w = NULL;
|
|
size_t current_length = 0;
|
|
|
|
if(entry->dwAltNameChoice != CERT_ALT_NAME_DNS_NAME) {
|
|
diff -urp a/Utilities/cmexpat/lib/expat_external.h b/Utilities/cmexpat/lib/expat_external.h
|
|
--- a/Utilities/cmexpat/lib/expat_external.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmexpat/lib/expat_external.h 2021-02-11 18:43:34.099190481 +0330
|
|
@@ -129,14 +129,14 @@ extern "C" {
|
|
# define XML_UNICODE
|
|
# endif
|
|
# if defined(__SIZEOF_WCHAR_T__) && (__SIZEOF_WCHAR_T__ != 2)
|
|
-# error "sizeof(wchar_t) != 2; Need -fshort-wchar for both Expat and libc"
|
|
+# error "sizeof(char) != 2; Need -fshort-wchar for both Expat and libc"
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef XML_UNICODE /* Information is UTF-16 encoded. */
|
|
# ifdef XML_UNICODE_WCHAR_T
|
|
-typedef wchar_t XML_Char;
|
|
-typedef wchar_t XML_LChar;
|
|
+typedef char XML_Char;
|
|
+typedef char XML_LChar;
|
|
# else
|
|
typedef unsigned short XML_Char;
|
|
typedef char XML_LChar;
|
|
diff -urp a/Utilities/cmexpat/lib/xmlparse.c b/Utilities/cmexpat/lib/xmlparse.c
|
|
--- a/Utilities/cmexpat/lib/xmlparse.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmexpat/lib/xmlparse.c 2021-02-11 18:43:34.095857094 +0330
|
|
@@ -157,7 +157,7 @@ typedef char ICHAR;
|
|
#ifdef XML_UNICODE
|
|
|
|
# ifdef XML_UNICODE_WCHAR_T
|
|
-# define XML_T(x) (const wchar_t) x
|
|
+# define XML_T(x) (const char) x
|
|
# define XML_L(x) L##x
|
|
# else
|
|
# define XML_T(x) (const unsigned short)x
|
|
diff -urp a/Utilities/cmexpat/README.md b/Utilities/cmexpat/README.md
|
|
--- a/Utilities/cmexpat/README.md 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmexpat/README.md 2021-02-11 18:43:34.062523237 +0330
|
|
@@ -99,7 +99,7 @@ support this mode of compilation (yet):
|
|
1. For UTF-16 output as unsigned short (and version/error strings as char),
|
|
run:<br/>
|
|
`./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf`<br/>
|
|
- For UTF-16 output as `wchar_t` (incl. version/error strings), run:<br/>
|
|
+ For UTF-16 output as `char` (incl. version/error strings), run:<br/>
|
|
`./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T
|
|
--without-xmlwf`
|
|
<br/>Note: The latter requires libc compiled with `-fshort-wchar`, as well.
|
|
@@ -165,7 +165,7 @@ EXPAT_BUILD_TESTS:BOOL=ON
|
|
// build the xmlwf tool for expat library
|
|
EXPAT_BUILD_TOOLS:BOOL=ON
|
|
|
|
-// Character type to use (char|ushort|wchar_t) [default=char]
|
|
+// Character type to use (char|ushort|char) [default=char]
|
|
EXPAT_CHAR_TYPE:STRING=char
|
|
|
|
// install expat files in cmake install target
|
|
diff -urp a/Utilities/cmlibarchive/build/cmake/config.h.in b/Utilities/cmlibarchive/build/cmake/config.h.in
|
|
--- a/Utilities/cmlibarchive/build/cmake/config.h.in 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/build/cmake/config.h.in 2021-02-12 14:39:59.857852509 +0330
|
|
@@ -931,7 +931,7 @@
|
|
/* Define to 1 if you have the <wchar.h> header file. */
|
|
#cmakedefine HAVE_WCHAR_H 1
|
|
|
|
-/* Define to 1 if the system has the type `wchar_t'. */
|
|
+/* Define to 1 if the system has the type `char'. */
|
|
#cmakedefine HAVE_WCHAR_T 1
|
|
|
|
/* Define to 1 if you have the `wcrtomb' function. */
|
|
@@ -1027,7 +1027,7 @@
|
|
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
|
|
#cmakedefine NO_MINUS_C_MINUS_O 1
|
|
|
|
-/* The size of `wchar_t', as computed by sizeof. */
|
|
+/* The size of `char', as computed by sizeof. */
|
|
#cmakedefine SIZEOF_WCHAR_T ${SIZEOF_WCHAR_T}
|
|
|
|
/* Define to 1 if strerror_r returns char *. */
|
|
diff -urp a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt
|
|
--- a/Utilities/cmlibarchive/CMakeLists.txt 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/CMakeLists.txt 2021-02-12 14:39:59.857852509 +0330
|
|
@@ -1612,7 +1612,7 @@ IF(NOT HAVE_PID_T)
|
|
ENDIF(WIN32)
|
|
ENDIF(NOT HAVE_PID_T)
|
|
#
|
|
-CHECK_TYPE_SIZE(wchar_t SIZEOF_WCHAR_T)
|
|
+CHECK_TYPE_SIZE(char SIZEOF_WCHAR_T)
|
|
IF(HAVE_SIZEOF_WCHAR_T)
|
|
SET(HAVE_WCHAR_T 1)
|
|
ENDIF(HAVE_SIZEOF_WCHAR_T)
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_acl.c b/Utilities/cmlibarchive/libarchive/archive_acl.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_acl.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_acl.c 2021-02-11 18:43:34.425862296 +0330
|
|
@@ -46,7 +46,7 @@ __FBSDID("$FreeBSD$");
|
|
|
|
#ifndef HAVE_WMEMCMP
|
|
/* Good enough for simple equality testing, but not for sorting. */
|
|
-#define wmemcmp(a,b,i) memcmp((a), (b), (i) * sizeof(wchar_t))
|
|
+#define wmemcmp(a,b,i) memcmp((a), (b), (i) * sizeof(char))
|
|
#endif
|
|
|
|
static int acl_special(struct archive_acl *acl,
|
|
@@ -60,17 +60,17 @@ static int archive_acl_text_want_type(st
|
|
static ssize_t archive_acl_text_len(struct archive_acl *acl, int want_type,
|
|
int flags, int wide, struct archive *a,
|
|
struct archive_string_conv *sc);
|
|
-static int isint_w(const wchar_t *start, const wchar_t *end, int *result);
|
|
-static int ismode_w(const wchar_t *start, const wchar_t *end, int *result);
|
|
-static int is_nfs4_flags_w(const wchar_t *start, const wchar_t *end,
|
|
+static int isint_w(const char *start, const char *end, int *result);
|
|
+static int ismode_w(const char *start, const char *end, int *result);
|
|
+static int is_nfs4_flags_w(const char *start, const char *end,
|
|
int *result);
|
|
-static int is_nfs4_perms_w(const wchar_t *start, const wchar_t *end,
|
|
+static int is_nfs4_perms_w(const char *start, const char *end,
|
|
int *result);
|
|
-static void next_field_w(const wchar_t **wp, const wchar_t **start,
|
|
- const wchar_t **end, wchar_t *sep);
|
|
-static void append_entry_w(wchar_t **wp, const wchar_t *prefix, int type,
|
|
- int tag, int flags, const wchar_t *wname, int perm, int id);
|
|
-static void append_id_w(wchar_t **wp, int id);
|
|
+static void next_field_w(const char **wp, const char **start,
|
|
+ const char **end, char *sep);
|
|
+static void append_entry_w(char **wp, const char *prefix, int type,
|
|
+ int tag, int flags, const char *wname, int perm, int id);
|
|
+static void append_id_w(char **wp, int id);
|
|
static int isint(const char *start, const char *end, int *result);
|
|
static int ismode(const char *start, const char *end, int *result);
|
|
static int is_nfs4_flags(const char *start, const char *end,
|
|
@@ -86,7 +86,7 @@ static void append_id(char **p, int id);
|
|
static const struct {
|
|
const int perm;
|
|
const char c;
|
|
- const wchar_t wc;
|
|
+ const char wc;
|
|
} nfsv4_acl_perm_map[] = {
|
|
{ ARCHIVE_ENTRY_ACL_READ_DATA | ARCHIVE_ENTRY_ACL_LIST_DIRECTORY, 'r',
|
|
L'r' },
|
|
@@ -113,7 +113,7 @@ static const int nfsv4_acl_perm_map_size
|
|
static const struct {
|
|
const int perm;
|
|
const char c;
|
|
- const wchar_t wc;
|
|
+ const char wc;
|
|
} nfsv4_acl_flag_map[] = {
|
|
{ ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, 'f', L'f' },
|
|
{ ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, 'd', L'd' },
|
|
@@ -187,7 +187,7 @@ archive_acl_add_entry(struct archive_acl
|
|
|
|
int
|
|
archive_acl_add_entry_w_len(struct archive_acl *acl,
|
|
- int type, int permset, int tag, int id, const wchar_t *name, size_t len)
|
|
+ int type, int permset, int tag, int id, const char *name, size_t len)
|
|
{
|
|
struct archive_acl_entry *ap;
|
|
|
|
@@ -534,7 +534,7 @@ archive_acl_text_len(struct archive_acl
|
|
int wide, struct archive *a, struct archive_string_conv *sc) {
|
|
struct archive_acl_entry *ap;
|
|
const char *name;
|
|
- const wchar_t *wname;
|
|
+ const char *wname;
|
|
int count, idlen, tmp, r;
|
|
ssize_t length;
|
|
size_t len;
|
|
@@ -660,19 +660,19 @@ archive_acl_text_len(struct archive_acl
|
|
* Generate a wide text version of the ACL. The flags parameter controls
|
|
* the type and style of the generated ACL.
|
|
*/
|
|
-wchar_t *
|
|
+char *
|
|
archive_acl_to_text_w(struct archive_acl *acl, ssize_t *text_len, int flags,
|
|
struct archive *a)
|
|
{
|
|
int count;
|
|
ssize_t length;
|
|
size_t len;
|
|
- const wchar_t *wname;
|
|
- const wchar_t *prefix;
|
|
- wchar_t separator;
|
|
+ const char *wname;
|
|
+ const char *prefix;
|
|
+ char separator;
|
|
struct archive_acl_entry *ap;
|
|
int id, r, want_type;
|
|
- wchar_t *wp, *ws;
|
|
+ char *wp, *ws;
|
|
|
|
want_type = archive_acl_text_want_type(acl, flags);
|
|
|
|
@@ -694,7 +694,7 @@ archive_acl_to_text_w(struct archive_acl
|
|
separator = L'\n';
|
|
|
|
/* Now, allocate the string and actually populate it. */
|
|
- wp = ws = (wchar_t *)malloc(length * sizeof(wchar_t));
|
|
+ wp = ws = (char *)malloc(length * sizeof(char));
|
|
if (wp == NULL) {
|
|
if (errno == ENOMEM)
|
|
__archive_errx(1, "No memory");
|
|
@@ -731,7 +731,7 @@ archive_acl_to_text_w(struct archive_acl
|
|
continue;
|
|
if (ap->type == ARCHIVE_ENTRY_ACL_TYPE_DEFAULT &&
|
|
(flags & ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT) != 0)
|
|
- prefix = L"default:";
|
|
+ prefix = "default:";
|
|
else
|
|
prefix = NULL;
|
|
r = archive_mstring_get_wcs(a, &ap->name, &wname);
|
|
@@ -766,18 +766,18 @@ archive_acl_to_text_w(struct archive_acl
|
|
}
|
|
|
|
static void
|
|
-append_id_w(wchar_t **wp, int id)
|
|
+append_id_w(char **wp, int id)
|
|
{
|
|
if (id < 0)
|
|
id = 0;
|
|
if (id > 9)
|
|
append_id_w(wp, id / 10);
|
|
- *(*wp)++ = L"0123456789"[id % 10];
|
|
+ *(*wp)++ = "0123456789"[id % 10];
|
|
}
|
|
|
|
static void
|
|
-append_entry_w(wchar_t **wp, const wchar_t *prefix, int type,
|
|
- int tag, int flags, const wchar_t *wname, int perm, int id)
|
|
+append_entry_w(char **wp, const char *prefix, int type,
|
|
+ int tag, int flags, const char *wname, int perm, int id)
|
|
{
|
|
int i;
|
|
|
|
@@ -790,36 +790,36 @@ append_entry_w(wchar_t **wp, const wchar
|
|
wname = NULL;
|
|
id = -1;
|
|
if ((type & ARCHIVE_ENTRY_ACL_TYPE_NFS4) != 0) {
|
|
- wcscpy(*wp, L"owner@");
|
|
+ wcscpy(*wp, "owner@");
|
|
break;
|
|
}
|
|
/* FALLTHROUGH */
|
|
case ARCHIVE_ENTRY_ACL_USER:
|
|
- wcscpy(*wp, L"user");
|
|
+ wcscpy(*wp, "user");
|
|
break;
|
|
case ARCHIVE_ENTRY_ACL_GROUP_OBJ:
|
|
wname = NULL;
|
|
id = -1;
|
|
if ((type & ARCHIVE_ENTRY_ACL_TYPE_NFS4) != 0) {
|
|
- wcscpy(*wp, L"group@");
|
|
+ wcscpy(*wp, "group@");
|
|
break;
|
|
}
|
|
/* FALLTHROUGH */
|
|
case ARCHIVE_ENTRY_ACL_GROUP:
|
|
- wcscpy(*wp, L"group");
|
|
+ wcscpy(*wp, "group");
|
|
break;
|
|
case ARCHIVE_ENTRY_ACL_MASK:
|
|
- wcscpy(*wp, L"mask");
|
|
+ wcscpy(*wp, "mask");
|
|
wname = NULL;
|
|
id = -1;
|
|
break;
|
|
case ARCHIVE_ENTRY_ACL_OTHER:
|
|
- wcscpy(*wp, L"other");
|
|
+ wcscpy(*wp, "other");
|
|
wname = NULL;
|
|
id = -1;
|
|
break;
|
|
case ARCHIVE_ENTRY_ACL_EVERYONE:
|
|
- wcscpy(*wp, L"everyone@");
|
|
+ wcscpy(*wp, "everyone@");
|
|
wname = NULL;
|
|
id = -1;
|
|
break;
|
|
@@ -867,16 +867,16 @@ append_entry_w(wchar_t **wp, const wchar
|
|
*(*wp)++ = L':';
|
|
switch (type) {
|
|
case ARCHIVE_ENTRY_ACL_TYPE_ALLOW:
|
|
- wcscpy(*wp, L"allow");
|
|
+ wcscpy(*wp, "allow");
|
|
break;
|
|
case ARCHIVE_ENTRY_ACL_TYPE_DENY:
|
|
- wcscpy(*wp, L"deny");
|
|
+ wcscpy(*wp, "deny");
|
|
break;
|
|
case ARCHIVE_ENTRY_ACL_TYPE_AUDIT:
|
|
- wcscpy(*wp, L"audit");
|
|
+ wcscpy(*wp, "audit");
|
|
break;
|
|
case ARCHIVE_ENTRY_ACL_TYPE_ALARM:
|
|
- wcscpy(*wp, L"alarm");
|
|
+ wcscpy(*wp, "alarm");
|
|
break;
|
|
default:
|
|
break;
|
|
@@ -1134,20 +1134,20 @@ append_entry(char **p, const char *prefi
|
|
* ARCHIVE_ENTRY_ACL_TYPE_DEFAULT unless type is ARCHIVE_ENTRY_ACL_TYPE_NFS4
|
|
*/
|
|
int
|
|
-archive_acl_from_text_w(struct archive_acl *acl, const wchar_t *text,
|
|
+archive_acl_from_text_w(struct archive_acl *acl, const char *text,
|
|
int want_type)
|
|
{
|
|
struct {
|
|
- const wchar_t *start;
|
|
- const wchar_t *end;
|
|
+ const char *start;
|
|
+ const char *end;
|
|
} field[6], name;
|
|
|
|
- const wchar_t *s, *st;
|
|
+ const char *s, *st;
|
|
|
|
int numfields, fields, n, r, sol, ret;
|
|
int type, types, tag, permset, id;
|
|
size_t len;
|
|
- wchar_t sep;
|
|
+ char sep;
|
|
|
|
ret = ARCHIVE_OK;
|
|
types = 0;
|
|
@@ -1174,7 +1174,7 @@ archive_acl_from_text_w(struct archive_a
|
|
*/
|
|
fields = 0;
|
|
do {
|
|
- const wchar_t *start, *end;
|
|
+ const char *start, *end;
|
|
next_field_w(&text, &start, &end, &sep);
|
|
if (fields < numfields) {
|
|
field[fields].start = start;
|
|
@@ -1211,7 +1211,7 @@ archive_acl_from_text_w(struct archive_a
|
|
s = field[0].start;
|
|
len = field[0].end - field[0].start;
|
|
if (*s == L'd' && (len == 1 || (len >= 7
|
|
- && wmemcmp((s + 1), L"efault", 6) == 0))) {
|
|
+ && wmemcmp((s + 1), "efault", 6) == 0))) {
|
|
type = ARCHIVE_ENTRY_ACL_TYPE_DEFAULT;
|
|
if (len > 7)
|
|
field[0].start += 7;
|
|
@@ -1235,22 +1235,22 @@ archive_acl_from_text_w(struct archive_a
|
|
switch (*s) {
|
|
case L'u':
|
|
if (len == 1 || (len == 4
|
|
- && wmemcmp(st, L"ser", 3) == 0))
|
|
+ && wmemcmp(st, "ser", 3) == 0))
|
|
tag = ARCHIVE_ENTRY_ACL_USER_OBJ;
|
|
break;
|
|
case L'g':
|
|
if (len == 1 || (len == 5
|
|
- && wmemcmp(st, L"roup", 4) == 0))
|
|
+ && wmemcmp(st, "roup", 4) == 0))
|
|
tag = ARCHIVE_ENTRY_ACL_GROUP_OBJ;
|
|
break;
|
|
case L'o':
|
|
if (len == 1 || (len == 5
|
|
- && wmemcmp(st, L"ther", 4) == 0))
|
|
+ && wmemcmp(st, "ther", 4) == 0))
|
|
tag = ARCHIVE_ENTRY_ACL_OTHER;
|
|
break;
|
|
case L'm':
|
|
if (len == 1 || (len == 4
|
|
- && wmemcmp(st, L"ask", 3) == 0))
|
|
+ && wmemcmp(st, "ask", 3) == 0))
|
|
tag = ARCHIVE_ENTRY_ACL_MASK;
|
|
break;
|
|
default:
|
|
@@ -1308,21 +1308,21 @@ archive_acl_from_text_w(struct archive_a
|
|
|
|
switch (len) {
|
|
case 4:
|
|
- if (wmemcmp(s, L"user", 4) == 0)
|
|
+ if (wmemcmp(s, "user", 4) == 0)
|
|
tag = ARCHIVE_ENTRY_ACL_USER;
|
|
break;
|
|
case 5:
|
|
- if (wmemcmp(s, L"group", 5) == 0)
|
|
+ if (wmemcmp(s, "group", 5) == 0)
|
|
tag = ARCHIVE_ENTRY_ACL_GROUP;
|
|
break;
|
|
case 6:
|
|
- if (wmemcmp(s, L"owner@", 6) == 0)
|
|
+ if (wmemcmp(s, "owner@", 6) == 0)
|
|
tag = ARCHIVE_ENTRY_ACL_USER_OBJ;
|
|
- else if (wmemcmp(s, L"group@", len) == 0)
|
|
+ else if (wmemcmp(s, "group@", len) == 0)
|
|
tag = ARCHIVE_ENTRY_ACL_GROUP_OBJ;
|
|
break;
|
|
case 9:
|
|
- if (wmemcmp(s, L"everyone@", 9) == 0)
|
|
+ if (wmemcmp(s, "everyone@", 9) == 0)
|
|
tag = ARCHIVE_ENTRY_ACL_EVERYONE;
|
|
default:
|
|
break;
|
|
@@ -1356,14 +1356,14 @@ archive_acl_from_text_w(struct archive_a
|
|
len = field[3 + n].end - field[3 + n].start;
|
|
type = 0;
|
|
if (len == 4) {
|
|
- if (wmemcmp(s, L"deny", 4) == 0)
|
|
+ if (wmemcmp(s, "deny", 4) == 0)
|
|
type = ARCHIVE_ENTRY_ACL_TYPE_DENY;
|
|
} else if (len == 5) {
|
|
- if (wmemcmp(s, L"allow", 5) == 0)
|
|
+ if (wmemcmp(s, "allow", 5) == 0)
|
|
type = ARCHIVE_ENTRY_ACL_TYPE_ALLOW;
|
|
- else if (wmemcmp(s, L"audit", 5) == 0)
|
|
+ else if (wmemcmp(s, "audit", 5) == 0)
|
|
type = ARCHIVE_ENTRY_ACL_TYPE_AUDIT;
|
|
- else if (wmemcmp(s, L"alarm", 5) == 0)
|
|
+ else if (wmemcmp(s, "alarm", 5) == 0)
|
|
type = ARCHIVE_ENTRY_ACL_TYPE_ALARM;
|
|
}
|
|
if (type == 0) {
|
|
@@ -1396,7 +1396,7 @@ archive_acl_from_text_w(struct archive_a
|
|
* false otherwise.
|
|
*/
|
|
static int
|
|
-isint_w(const wchar_t *start, const wchar_t *end, int *result)
|
|
+isint_w(const char *start, const char *end, int *result)
|
|
{
|
|
int n = 0;
|
|
if (start >= end)
|
|
@@ -1423,9 +1423,9 @@ isint_w(const wchar_t *start, const wcha
|
|
* false otherwise.
|
|
*/
|
|
static int
|
|
-ismode_w(const wchar_t *start, const wchar_t *end, int *permset)
|
|
+ismode_w(const char *start, const char *end, int *permset)
|
|
{
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
|
|
if (start >= end)
|
|
return (0);
|
|
@@ -1457,9 +1457,9 @@ ismode_w(const wchar_t *start, const wch
|
|
* permission characters, false otherwise
|
|
*/
|
|
static int
|
|
-is_nfs4_perms_w(const wchar_t *start, const wchar_t *end, int *permset)
|
|
+is_nfs4_perms_w(const char *start, const char *end, int *permset)
|
|
{
|
|
- const wchar_t *p = start;
|
|
+ const char *p = start;
|
|
|
|
while (p < end) {
|
|
switch (*p++) {
|
|
@@ -1520,9 +1520,9 @@ is_nfs4_perms_w(const wchar_t *start, co
|
|
* flag characters, false otherwise
|
|
*/
|
|
static int
|
|
-is_nfs4_flags_w(const wchar_t *start, const wchar_t *end, int *permset)
|
|
+is_nfs4_flags_w(const char *start, const char *end, int *permset)
|
|
{
|
|
- const wchar_t *p = start;
|
|
+ const char *p = start;
|
|
|
|
while (p < end) {
|
|
switch(*p++) {
|
|
@@ -1566,8 +1566,8 @@ is_nfs4_flags_w(const wchar_t *start, co
|
|
* whitespace.
|
|
*/
|
|
static void
|
|
-next_field_w(const wchar_t **wp, const wchar_t **start,
|
|
- const wchar_t **end, wchar_t *sep)
|
|
+next_field_w(const char **wp, const char **start,
|
|
+ const char **end, char *sep)
|
|
{
|
|
/* Skip leading whitespace to find start of field. */
|
|
while (**wp == L' ' || **wp == L'\t' || **wp == L'\n') {
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_acl_private.h b/Utilities/cmlibarchive/libarchive/archive_acl_private.h
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_acl_private.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_acl_private.h 2021-02-11 18:43:34.392528437 +0330
|
|
@@ -48,7 +48,7 @@ struct archive_acl {
|
|
struct archive_acl_entry *acl_head;
|
|
struct archive_acl_entry *acl_p;
|
|
int acl_state; /* See acl_next for details. */
|
|
- wchar_t *acl_text_w;
|
|
+ char *acl_text_w;
|
|
char *acl_text;
|
|
int acl_types;
|
|
};
|
|
@@ -63,11 +63,11 @@ int archive_acl_next(struct archive *, s
|
|
|
|
int archive_acl_add_entry(struct archive_acl *, int, int, int, int, const char *);
|
|
int archive_acl_add_entry_w_len(struct archive_acl *,
|
|
- int, int, int, int, const wchar_t *, size_t);
|
|
+ int, int, int, int, const char *, size_t);
|
|
int archive_acl_add_entry_len(struct archive_acl *,
|
|
int, int, int, int, const char *, size_t);
|
|
|
|
-wchar_t *archive_acl_to_text_w(struct archive_acl *, ssize_t *, int,
|
|
+char *archive_acl_to_text_w(struct archive_acl *, ssize_t *, int,
|
|
struct archive *);
|
|
char *archive_acl_to_text_l(struct archive_acl *, ssize_t *, int,
|
|
struct archive_string_conv *);
|
|
@@ -75,7 +75,7 @@ char *archive_acl_to_text_l(struct archi
|
|
/*
|
|
* ACL text parser.
|
|
*/
|
|
-int archive_acl_from_text_w(struct archive_acl *, const wchar_t * /* wtext */,
|
|
+int archive_acl_from_text_w(struct archive_acl *, const char * /* wtext */,
|
|
int /* type */);
|
|
int archive_acl_from_text_l(struct archive_acl *, const char * /* text */,
|
|
int /* type */, struct archive_string_conv *);
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_entry_acl.3 b/Utilities/cmlibarchive/libarchive/archive_entry_acl.3
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_entry_acl.3 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_acl.3 2021-02-11 18:43:34.399195209 +0330
|
|
@@ -59,7 +59,7 @@ Streaming Archive Library (libarchive, -
|
|
.Fa "int permset"
|
|
.Fa "int tag"
|
|
.Fa "int qualifier"
|
|
-.Fa "const wchar_t *name"
|
|
+.Fa "const char *name"
|
|
.Fc
|
|
.Ft void
|
|
.Fn archive_entry_acl_clear "struct archive_entry *a"
|
|
@@ -74,7 +74,7 @@ Streaming Archive Library (libarchive, -
|
|
.Ft int
|
|
.Fo archive_entry_acl_from_text_w
|
|
.Fa "struct archive_entry *a"
|
|
-.Fa "const wchar_t *text"
|
|
+.Fa "const char *text"
|
|
.Fa "int type"
|
|
.Fc
|
|
.Ft int
|
|
@@ -95,7 +95,7 @@ Streaming Archive Library (libarchive, -
|
|
.Fa "ssize_t *len_p"
|
|
.Fa "int flags"
|
|
.Fc
|
|
-.Ft wchar_t *
|
|
+.Ft char *
|
|
.Fo archive_entry_acl_to_text_w
|
|
.Fa "struct archive_entry *a"
|
|
.Fa "ssize_t *len_p"
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_entry.c b/Utilities/cmlibarchive/libarchive/archive_entry.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_entry.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_entry.c 2021-02-11 18:43:34.392528437 +0330
|
|
@@ -117,24 +117,24 @@ __FBSDID("$FreeBSD: head/lib/libarchive/
|
|
} while (0)
|
|
|
|
static char * ae_fflagstostr(unsigned long bitset, unsigned long bitclear);
|
|
-static const wchar_t *ae_wcstofflags(const wchar_t *stringp,
|
|
+static const char *ae_wcstofflags(const char *stringp,
|
|
unsigned long *setp, unsigned long *clrp);
|
|
static const char *ae_strtofflags(const char *stringp,
|
|
unsigned long *setp, unsigned long *clrp);
|
|
|
|
#ifndef HAVE_WCSCPY
|
|
-static wchar_t * wcscpy(wchar_t *s1, const wchar_t *s2)
|
|
+static char * wcscpy(char *s1, const char *s2)
|
|
{
|
|
- wchar_t *dest = s1;
|
|
+ char *dest = s1;
|
|
while ((*s1 = *s2) != L'\0')
|
|
++s1, ++s2;
|
|
return dest;
|
|
}
|
|
#endif
|
|
#ifndef HAVE_WCSLEN
|
|
-static size_t wcslen(const wchar_t *s)
|
|
+static size_t wcslen(const char *s)
|
|
{
|
|
- const wchar_t *p = s;
|
|
+ const char *p = s;
|
|
while (*p != L'\0')
|
|
++p;
|
|
return p - s;
|
|
@@ -142,7 +142,7 @@ static size_t wcslen(const wchar_t *s)
|
|
#endif
|
|
#ifndef HAVE_WMEMCMP
|
|
/* Good enough for simple equality testing, but not for sorting. */
|
|
-#define wmemcmp(a,b,i) memcmp((a), (b), (i) * sizeof(wchar_t))
|
|
+#define wmemcmp(a,b,i) memcmp((a), (b), (i) * sizeof(char))
|
|
#endif
|
|
|
|
/****************************************************************************
|
|
@@ -435,10 +435,10 @@ archive_entry_gname_utf8(struct archive_
|
|
}
|
|
|
|
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_gname_w(struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
if (archive_mstring_get_wcs(entry->archive, &entry->ae_gname, &p) == 0)
|
|
return (p);
|
|
if (errno == ENOMEM)
|
|
@@ -481,10 +481,10 @@ archive_entry_hardlink_utf8(struct archi
|
|
return (NULL);
|
|
}
|
|
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_hardlink_w(struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
if ((entry->ae_set & AE_SET_HARDLINK) == 0)
|
|
return (NULL);
|
|
if (archive_mstring_get_wcs(
|
|
@@ -579,10 +579,10 @@ archive_entry_pathname_utf8(struct archi
|
|
return (NULL);
|
|
}
|
|
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_pathname_w(struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
if (archive_mstring_get_wcs(
|
|
entry->archive, &entry->ae_pathname, &p) == 0)
|
|
return (p);
|
|
@@ -656,10 +656,10 @@ archive_entry_sourcepath(struct archive_
|
|
return (NULL);
|
|
}
|
|
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_sourcepath_w(struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
if (archive_mstring_get_wcs(
|
|
entry->archive, &entry->ae_sourcepath, &p) == 0)
|
|
return (p);
|
|
@@ -700,10 +700,10 @@ archive_entry_symlink_utf8(struct archiv
|
|
return (NULL);
|
|
}
|
|
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_symlink_w(struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
if ((entry->ae_set & AE_SET_SYMLINK) == 0)
|
|
return (NULL);
|
|
if (archive_mstring_get_wcs(
|
|
@@ -754,10 +754,10 @@ archive_entry_uname_utf8(struct archive_
|
|
return (NULL);
|
|
}
|
|
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_uname_w(struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
if (archive_mstring_get_wcs(entry->archive, &entry->ae_uname, &p) == 0)
|
|
return (p);
|
|
if (errno == ENOMEM)
|
|
@@ -820,9 +820,9 @@ archive_entry_copy_fflags_text(struct ar
|
|
&entry->ae_fflags_set, &entry->ae_fflags_clear));
|
|
}
|
|
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_copy_fflags_text_w(struct archive_entry *entry,
|
|
- const wchar_t *flags)
|
|
+ const char *flags)
|
|
{
|
|
archive_mstring_copy_wcs(&entry->ae_fflags_text, flags);
|
|
return (ae_wcstofflags(flags,
|
|
@@ -855,7 +855,7 @@ archive_entry_copy_gname(struct archive_
|
|
}
|
|
|
|
void
|
|
-archive_entry_copy_gname_w(struct archive_entry *entry, const wchar_t *name)
|
|
+archive_entry_copy_gname_w(struct archive_entry *entry, const char *name)
|
|
{
|
|
archive_mstring_copy_wcs(&entry->ae_gname, name);
|
|
}
|
|
@@ -925,7 +925,7 @@ archive_entry_copy_hardlink(struct archi
|
|
}
|
|
|
|
void
|
|
-archive_entry_copy_hardlink_w(struct archive_entry *entry, const wchar_t *target)
|
|
+archive_entry_copy_hardlink_w(struct archive_entry *entry, const char *target)
|
|
{
|
|
archive_mstring_copy_wcs(&entry->ae_hardlink, target);
|
|
if (target != NULL)
|
|
@@ -1073,7 +1073,7 @@ archive_entry_copy_link(struct archive_e
|
|
|
|
/* Set symlink if symlink is already set, else set hardlink. */
|
|
void
|
|
-archive_entry_copy_link_w(struct archive_entry *entry, const wchar_t *target)
|
|
+archive_entry_copy_link_w(struct archive_entry *entry, const char *target)
|
|
{
|
|
if (entry->ae_set & AE_SET_SYMLINK)
|
|
archive_mstring_copy_wcs(&entry->ae_symlink, target);
|
|
@@ -1163,7 +1163,7 @@ archive_entry_copy_pathname(struct archi
|
|
}
|
|
|
|
void
|
|
-archive_entry_copy_pathname_w(struct archive_entry *entry, const wchar_t *name)
|
|
+archive_entry_copy_pathname_w(struct archive_entry *entry, const char *name)
|
|
{
|
|
archive_mstring_copy_wcs(&entry->ae_pathname, name);
|
|
}
|
|
@@ -1241,7 +1241,7 @@ archive_entry_copy_sourcepath(struct arc
|
|
}
|
|
|
|
void
|
|
-archive_entry_copy_sourcepath_w(struct archive_entry *entry, const wchar_t *path)
|
|
+archive_entry_copy_sourcepath_w(struct archive_entry *entry, const char *path)
|
|
{
|
|
archive_mstring_copy_wcs(&entry->ae_sourcepath, path);
|
|
}
|
|
@@ -1283,7 +1283,7 @@ archive_entry_copy_symlink(struct archiv
|
|
}
|
|
|
|
void
|
|
-archive_entry_copy_symlink_w(struct archive_entry *entry, const wchar_t *linkname)
|
|
+archive_entry_copy_symlink_w(struct archive_entry *entry, const char *linkname)
|
|
{
|
|
archive_mstring_copy_wcs(&entry->ae_symlink, linkname);
|
|
if (linkname != NULL)
|
|
@@ -1348,7 +1348,7 @@ archive_entry_copy_uname(struct archive_
|
|
}
|
|
|
|
void
|
|
-archive_entry_copy_uname_w(struct archive_entry *entry, const wchar_t *name)
|
|
+archive_entry_copy_uname_w(struct archive_entry *entry, const char *name)
|
|
{
|
|
archive_mstring_copy_wcs(&entry->ae_uname, name);
|
|
}
|
|
@@ -1452,7 +1452,7 @@ archive_entry_acl_add_entry(struct archi
|
|
*/
|
|
int
|
|
archive_entry_acl_add_entry_w(struct archive_entry *entry,
|
|
- int type, int permset, int tag, int id, const wchar_t *name)
|
|
+ int type, int permset, int tag, int id, const char *name)
|
|
{
|
|
return archive_acl_add_entry_w_len(&entry->acl,
|
|
type, permset, tag, id, name, wcslen(name));
|
|
@@ -1507,7 +1507,7 @@ archive_entry_acl_next(struct archive_en
|
|
* Generate a text version of the ACL. The flags parameter controls
|
|
* the style of the generated ACL.
|
|
*/
|
|
-wchar_t *
|
|
+char *
|
|
archive_entry_acl_to_text_w(struct archive_entry *entry, la_ssize_t *len,
|
|
int flags)
|
|
{
|
|
@@ -1534,7 +1534,7 @@ _archive_entry_acl_to_text_l(struct arch
|
|
*/
|
|
int
|
|
archive_entry_acl_from_text_w(struct archive_entry *entry,
|
|
- const wchar_t *wtext, int type)
|
|
+ const char *wtext, int type)
|
|
{
|
|
return (archive_acl_from_text_w(&entry->acl, wtext, type));
|
|
}
|
|
@@ -1574,7 +1574,7 @@ archive_entry_acl_text_compat(int *flags
|
|
}
|
|
|
|
/* Deprecated */
|
|
-const wchar_t *
|
|
+const char *
|
|
archive_entry_acl_text_w(struct archive_entry *entry, int flags)
|
|
{
|
|
free(entry->acl.acl_text_w);
|
|
@@ -1696,166 +1696,166 @@ _archive_entry_acl_text_l(struct archive
|
|
|
|
static const struct flag {
|
|
const char *name;
|
|
- const wchar_t *wname;
|
|
+ const char *wname;
|
|
unsigned long set;
|
|
unsigned long clear;
|
|
} fileflags[] = {
|
|
/* Preferred (shorter) names per flag first, all prefixed by "no" */
|
|
#ifdef SF_APPEND
|
|
- { "nosappnd", L"nosappnd", SF_APPEND, 0},
|
|
- { "nosappend", L"nosappend", SF_APPEND, 0},
|
|
+ { "nosappnd", "nosappnd", SF_APPEND, 0},
|
|
+ { "nosappend", "nosappend", SF_APPEND, 0},
|
|
#endif
|
|
#if defined(FS_APPEND_FL) /* 'a' */
|
|
- { "nosappnd", L"nosappnd", FS_APPEND_FL, 0},
|
|
- { "nosappend", L"nosappend", FS_APPEND_FL, 0},
|
|
+ { "nosappnd", "nosappnd", FS_APPEND_FL, 0},
|
|
+ { "nosappend", "nosappend", FS_APPEND_FL, 0},
|
|
#elif defined(EXT2_APPEND_FL) /* 'a' */
|
|
- { "nosappnd", L"nosappnd", EXT2_APPEND_FL, 0},
|
|
- { "nosappend", L"nosappend", EXT2_APPEND_FL, 0},
|
|
+ { "nosappnd", "nosappnd", EXT2_APPEND_FL, 0},
|
|
+ { "nosappend", "nosappend", EXT2_APPEND_FL, 0},
|
|
#endif
|
|
#ifdef SF_ARCHIVED
|
|
- { "noarch", L"noarch", SF_ARCHIVED, 0},
|
|
- { "noarchived", L"noarchived", SF_ARCHIVED, 0},
|
|
+ { "noarch", "noarch", SF_ARCHIVED, 0},
|
|
+ { "noarchived", "noarchived", SF_ARCHIVED, 0},
|
|
#endif
|
|
#ifdef SF_IMMUTABLE
|
|
- { "noschg", L"noschg", SF_IMMUTABLE, 0},
|
|
- { "noschange", L"noschange", SF_IMMUTABLE, 0},
|
|
- { "nosimmutable", L"nosimmutable", SF_IMMUTABLE, 0},
|
|
+ { "noschg", "noschg", SF_IMMUTABLE, 0},
|
|
+ { "noschange", "noschange", SF_IMMUTABLE, 0},
|
|
+ { "nosimmutable", "nosimmutable", SF_IMMUTABLE, 0},
|
|
#endif
|
|
#if defined(FS_IMMUTABLE_FL) /* 'i' */
|
|
- { "noschg", L"noschg", FS_IMMUTABLE_FL, 0},
|
|
- { "noschange", L"noschange", FS_IMMUTABLE_FL, 0},
|
|
- { "nosimmutable", L"nosimmutable", FS_IMMUTABLE_FL, 0},
|
|
+ { "noschg", "noschg", FS_IMMUTABLE_FL, 0},
|
|
+ { "noschange", "noschange", FS_IMMUTABLE_FL, 0},
|
|
+ { "nosimmutable", "nosimmutable", FS_IMMUTABLE_FL, 0},
|
|
#elif defined(EXT2_IMMUTABLE_FL) /* 'i' */
|
|
- { "noschg", L"noschg", EXT2_IMMUTABLE_FL, 0},
|
|
- { "noschange", L"noschange", EXT2_IMMUTABLE_FL, 0},
|
|
- { "nosimmutable", L"nosimmutable", EXT2_IMMUTABLE_FL, 0},
|
|
+ { "noschg", "noschg", EXT2_IMMUTABLE_FL, 0},
|
|
+ { "noschange", "noschange", EXT2_IMMUTABLE_FL, 0},
|
|
+ { "nosimmutable", "nosimmutable", EXT2_IMMUTABLE_FL, 0},
|
|
#endif
|
|
#ifdef SF_NOUNLINK
|
|
- { "nosunlnk", L"nosunlnk", SF_NOUNLINK, 0},
|
|
- { "nosunlink", L"nosunlink", SF_NOUNLINK, 0},
|
|
+ { "nosunlnk", "nosunlnk", SF_NOUNLINK, 0},
|
|
+ { "nosunlink", "nosunlink", SF_NOUNLINK, 0},
|
|
#endif
|
|
#ifdef UF_APPEND
|
|
- { "nouappnd", L"nouappnd", UF_APPEND, 0},
|
|
- { "nouappend", L"nouappend", UF_APPEND, 0},
|
|
+ { "nouappnd", "nouappnd", UF_APPEND, 0},
|
|
+ { "nouappend", "nouappend", UF_APPEND, 0},
|
|
#endif
|
|
#ifdef UF_IMMUTABLE
|
|
- { "nouchg", L"nouchg", UF_IMMUTABLE, 0},
|
|
- { "nouchange", L"nouchange", UF_IMMUTABLE, 0},
|
|
- { "nouimmutable", L"nouimmutable", UF_IMMUTABLE, 0},
|
|
+ { "nouchg", "nouchg", UF_IMMUTABLE, 0},
|
|
+ { "nouchange", "nouchange", UF_IMMUTABLE, 0},
|
|
+ { "nouimmutable", "nouimmutable", UF_IMMUTABLE, 0},
|
|
#endif
|
|
#ifdef UF_NODUMP
|
|
- { "nodump", L"nodump", 0, UF_NODUMP},
|
|
+ { "nodump", "nodump", 0, UF_NODUMP},
|
|
#endif
|
|
#if defined(FS_NODUMP_FL) /* 'd' */
|
|
- { "nodump", L"nodump", 0, FS_NODUMP_FL},
|
|
+ { "nodump", "nodump", 0, FS_NODUMP_FL},
|
|
#elif defined(EXT2_NODUMP_FL)
|
|
- { "nodump", L"nodump", 0, EXT2_NODUMP_FL},
|
|
+ { "nodump", "nodump", 0, EXT2_NODUMP_FL},
|
|
#endif
|
|
#ifdef UF_OPAQUE
|
|
- { "noopaque", L"noopaque", UF_OPAQUE, 0},
|
|
+ { "noopaque", "noopaque", UF_OPAQUE, 0},
|
|
#endif
|
|
#ifdef UF_NOUNLINK
|
|
- { "nouunlnk", L"nouunlnk", UF_NOUNLINK, 0},
|
|
- { "nouunlink", L"nouunlink", UF_NOUNLINK, 0},
|
|
+ { "nouunlnk", "nouunlnk", UF_NOUNLINK, 0},
|
|
+ { "nouunlink", "nouunlink", UF_NOUNLINK, 0},
|
|
#endif
|
|
#ifdef UF_COMPRESSED
|
|
/* Mac OS */
|
|
- { "nocompressed", L"nocompressed", UF_COMPRESSED, 0},
|
|
+ { "nocompressed", "nocompressed", UF_COMPRESSED, 0},
|
|
#endif
|
|
#ifdef UF_HIDDEN
|
|
- { "nohidden", L"nohidden", UF_HIDDEN, 0},
|
|
- { "nouhidden", L"nouhidden", UF_HIDDEN, 0},
|
|
+ { "nohidden", "nohidden", UF_HIDDEN, 0},
|
|
+ { "nouhidden", "nouhidden", UF_HIDDEN, 0},
|
|
#endif
|
|
#ifdef FILE_ATTRIBUTE_HIDDEN
|
|
- { "nohidden", L"nohidden", FILE_ATTRIBUTE_HIDDEN, 0},
|
|
- { "nouhidden", L"nouhidden", FILE_ATTRIBUTE_HIDDEN, 0},
|
|
+ { "nohidden", "nohidden", FILE_ATTRIBUTE_HIDDEN, 0},
|
|
+ { "nouhidden", "nouhidden", FILE_ATTRIBUTE_HIDDEN, 0},
|
|
#endif
|
|
#ifdef UF_OFFLINE
|
|
- { "nooffline", L"nooffline", UF_OFFLINE, 0},
|
|
- { "nouoffline", L"nouoffline", UF_OFFLINE, 0},
|
|
+ { "nooffline", "nooffline", UF_OFFLINE, 0},
|
|
+ { "nouoffline", "nouoffline", UF_OFFLINE, 0},
|
|
#endif
|
|
#ifdef UF_READONLY
|
|
- { "nordonly", L"nordonly", UF_READONLY, 0},
|
|
- { "nourdonly", L"nourdonly", UF_READONLY, 0},
|
|
- { "noreadonly", L"noreadonly", UF_READONLY, 0},
|
|
+ { "nordonly", "nordonly", UF_READONLY, 0},
|
|
+ { "nourdonly", "nourdonly", UF_READONLY, 0},
|
|
+ { "noreadonly", "noreadonly", UF_READONLY, 0},
|
|
#endif
|
|
#ifdef FILE_ATTRIBUTE_READONLY
|
|
- { "nordonly", L"nordonly", FILE_ATTRIBUTE_READONLY, 0},
|
|
- { "nourdonly", L"nourdonly", FILE_ATTRIBUTE_READONLY, 0},
|
|
- { "noreadonly", L"noreadonly", FILE_ATTRIBUTE_READONLY, 0},
|
|
+ { "nordonly", "nordonly", FILE_ATTRIBUTE_READONLY, 0},
|
|
+ { "nourdonly", "nourdonly", FILE_ATTRIBUTE_READONLY, 0},
|
|
+ { "noreadonly", "noreadonly", FILE_ATTRIBUTE_READONLY, 0},
|
|
#endif
|
|
#ifdef UF_SPARSE
|
|
- { "nosparse", L"nosparse", UF_SPARSE, 0},
|
|
- { "nousparse", L"nousparse", UF_SPARSE, 0},
|
|
+ { "nosparse", "nosparse", UF_SPARSE, 0},
|
|
+ { "nousparse", "nousparse", UF_SPARSE, 0},
|
|
#endif
|
|
#ifdef UF_REPARSE
|
|
- { "noreparse", L"noreparse", UF_REPARSE, 0},
|
|
- { "noureparse", L"noureparse", UF_REPARSE, 0},
|
|
+ { "noreparse", "noreparse", UF_REPARSE, 0},
|
|
+ { "noureparse", "noureparse", UF_REPARSE, 0},
|
|
#endif
|
|
#ifdef UF_SYSTEM
|
|
- { "nosystem", L"nosystem", UF_SYSTEM, 0},
|
|
- { "nousystem", L"nousystem", UF_SYSTEM, 0},
|
|
+ { "nosystem", "nosystem", UF_SYSTEM, 0},
|
|
+ { "nousystem", "nousystem", UF_SYSTEM, 0},
|
|
#endif
|
|
#ifdef FILE_ATTRIBUTE_SYSTEM
|
|
- { "nosystem", L"nosystem", FILE_ATTRIBUTE_SYSTEM, 0},
|
|
- { "nousystem", L"nousystem", FILE_ATTRIBUTE_SYSTEM, 0},
|
|
+ { "nosystem", "nosystem", FILE_ATTRIBUTE_SYSTEM, 0},
|
|
+ { "nousystem", "nousystem", FILE_ATTRIBUTE_SYSTEM, 0},
|
|
#endif
|
|
#if defined(FS_UNRM_FL) /* 'u' */
|
|
- { "noundel", L"noundel", FS_UNRM_FL, 0},
|
|
+ { "noundel", "noundel", FS_UNRM_FL, 0},
|
|
#elif defined(EXT2_UNRM_FL)
|
|
- { "noundel", L"noundel", EXT2_UNRM_FL, 0},
|
|
+ { "noundel", "noundel", EXT2_UNRM_FL, 0},
|
|
#endif
|
|
|
|
#if defined(FS_COMPR_FL) /* 'c' */
|
|
- { "nocompress", L"nocompress", FS_COMPR_FL, 0},
|
|
+ { "nocompress", "nocompress", FS_COMPR_FL, 0},
|
|
#elif defined(EXT2_COMPR_FL)
|
|
- { "nocompress", L"nocompress", EXT2_COMPR_FL, 0},
|
|
+ { "nocompress", "nocompress", EXT2_COMPR_FL, 0},
|
|
#endif
|
|
|
|
#if defined(FS_NOATIME_FL) /* 'A' */
|
|
- { "noatime", L"noatime", 0, FS_NOATIME_FL},
|
|
+ { "noatime", "noatime", 0, FS_NOATIME_FL},
|
|
#elif defined(EXT2_NOATIME_FL)
|
|
- { "noatime", L"noatime", 0, EXT2_NOATIME_FL},
|
|
+ { "noatime", "noatime", 0, EXT2_NOATIME_FL},
|
|
#endif
|
|
#if defined(FS_DIRSYNC_FL) /* 'D' */
|
|
- { "nodirsync", L"nodirsync", FS_DIRSYNC_FL, 0},
|
|
+ { "nodirsync", "nodirsync", FS_DIRSYNC_FL, 0},
|
|
#elif defined(EXT2_DIRSYNC_FL)
|
|
- { "nodirsync", L"nodirsync", EXT2_DIRSYNC_FL, 0},
|
|
+ { "nodirsync", "nodirsync", EXT2_DIRSYNC_FL, 0},
|
|
#endif
|
|
#if defined(FS_JOURNAL_DATA_FL) /* 'j' */
|
|
- { "nojournal-data",L"nojournal-data", FS_JOURNAL_DATA_FL, 0},
|
|
- { "nojournal", L"nojournal", FS_JOURNAL_DATA_FL, 0},
|
|
+ { "nojournal-data","nojournal-data", FS_JOURNAL_DATA_FL, 0},
|
|
+ { "nojournal", "nojournal", FS_JOURNAL_DATA_FL, 0},
|
|
#elif defined(EXT3_JOURNAL_DATA_FL)
|
|
- { "nojournal-data",L"nojournal-data", EXT3_JOURNAL_DATA_FL, 0},
|
|
- { "nojournal", L"nojournal", EXT3_JOURNAL_DATA_FL, 0},
|
|
+ { "nojournal-data","nojournal-data", EXT3_JOURNAL_DATA_FL, 0},
|
|
+ { "nojournal", "nojournal", EXT3_JOURNAL_DATA_FL, 0},
|
|
#endif
|
|
#if defined(FS_SECRM_FL) /* 's' */
|
|
- { "nosecdel", L"nosecdel", FS_SECRM_FL, 0},
|
|
- { "nosecuredeletion",L"nosecuredeletion",FS_SECRM_FL, 0},
|
|
+ { "nosecdel", "nosecdel", FS_SECRM_FL, 0},
|
|
+ { "nosecuredeletion","nosecuredeletion",FS_SECRM_FL, 0},
|
|
#elif defined(EXT2_SECRM_FL)
|
|
- { "nosecdel", L"nosecdel", EXT2_SECRM_FL, 0},
|
|
- { "nosecuredeletion",L"nosecuredeletion",EXT2_SECRM_FL, 0},
|
|
+ { "nosecdel", "nosecdel", EXT2_SECRM_FL, 0},
|
|
+ { "nosecuredeletion","nosecuredeletion",EXT2_SECRM_FL, 0},
|
|
#endif
|
|
#if defined(FS_SYNC_FL) /* 'S' */
|
|
- { "nosync", L"nosync", FS_SYNC_FL, 0},
|
|
+ { "nosync", "nosync", FS_SYNC_FL, 0},
|
|
#elif defined(EXT2_SYNC_FL)
|
|
- { "nosync", L"nosync", EXT2_SYNC_FL, 0},
|
|
+ { "nosync", "nosync", EXT2_SYNC_FL, 0},
|
|
#endif
|
|
#if defined(FS_NOTAIL_FL) /* 't' */
|
|
- { "notail", L"notail", 0, FS_NOTAIL_FL},
|
|
+ { "notail", "notail", 0, FS_NOTAIL_FL},
|
|
#elif defined(EXT2_NOTAIL_FL)
|
|
- { "notail", L"notail", 0, EXT2_NOTAIL_FL},
|
|
+ { "notail", "notail", 0, EXT2_NOTAIL_FL},
|
|
#endif
|
|
#if defined(FS_TOPDIR_FL) /* 'T' */
|
|
- { "notopdir", L"notopdir", FS_TOPDIR_FL, 0},
|
|
+ { "notopdir", "notopdir", FS_TOPDIR_FL, 0},
|
|
#elif defined(EXT2_TOPDIR_FL)
|
|
- { "notopdir", L"notopdir", EXT2_TOPDIR_FL, 0},
|
|
+ { "notopdir", "notopdir", EXT2_TOPDIR_FL, 0},
|
|
#endif
|
|
#ifdef FS_NOCOW_FL /* 'C' */
|
|
- { "nocow", L"nocow", 0, FS_NOCOW_FL},
|
|
+ { "nocow", "nocow", 0, FS_NOCOW_FL},
|
|
#endif
|
|
#ifdef FS_PROJINHERIT_FL /* 'P' */
|
|
- { "noprojinherit",L"noprojinherit", FS_PROJINHERIT_FL, 0},
|
|
+ { "noprojinherit","noprojinherit", FS_PROJINHERIT_FL, 0},
|
|
#endif
|
|
{ NULL, NULL, 0, 0}
|
|
};
|
|
@@ -1987,13 +1987,13 @@ ae_strtofflags(const char *s, unsigned l
|
|
* This version is also const-correct and does not modify the
|
|
* provided string.
|
|
*/
|
|
-static const wchar_t *
|
|
-ae_wcstofflags(const wchar_t *s, unsigned long *setp, unsigned long *clrp)
|
|
+static const char *
|
|
+ae_wcstofflags(const char *s, unsigned long *setp, unsigned long *clrp)
|
|
{
|
|
- const wchar_t *start, *end;
|
|
+ const char *start, *end;
|
|
const struct flag *flag;
|
|
unsigned long set, clear;
|
|
- const wchar_t *failed;
|
|
+ const char *failed;
|
|
|
|
set = clear = 0;
|
|
start = s;
|
|
@@ -2053,14 +2053,14 @@ main(int argc, char **argv)
|
|
{
|
|
struct archive_entry *entry = archive_entry_new();
|
|
unsigned long set, clear;
|
|
- const wchar_t *remainder;
|
|
+ const char *remainder;
|
|
|
|
- remainder = archive_entry_copy_fflags_text_w(entry, L"nosappnd dump archive,,,,,,,");
|
|
+ remainder = archive_entry_copy_fflags_text_w(entry, "nosappnd dump archive,,,,,,,");
|
|
archive_entry_fflags(entry, &set, &clear);
|
|
|
|
- wprintf(L"set=0x%lX clear=0x%lX remainder='%ls'\n", set, clear, remainder);
|
|
+ wprintf("set=0x%lX clear=0x%lX remainder='%ls'\n", set, clear, remainder);
|
|
|
|
- wprintf(L"new flags='%s'\n", archive_entry_fflags_text(entry));
|
|
+ wprintf("new flags='%s'\n", archive_entry_fflags_text(entry));
|
|
return (0);
|
|
}
|
|
#endif
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_entry.h b/Utilities/cmlibarchive/libarchive/archive_entry.h
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_entry.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_entry.h 2021-02-11 18:43:34.442529226 +0330
|
|
@@ -41,7 +41,7 @@
|
|
*/
|
|
|
|
#include <sys/types.h>
|
|
-#include <stddef.h> /* for wchar_t */
|
|
+#include <stddef.h> /* for char */
|
|
#include <stdint.h>
|
|
#include <time.h>
|
|
|
|
@@ -253,10 +253,10 @@ __LA_DECL const char *archive_entry_ffla
|
|
__LA_DECL la_int64_t archive_entry_gid(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_gname(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_gname_utf8(struct archive_entry *);
|
|
-__LA_DECL const wchar_t *archive_entry_gname_w(struct archive_entry *);
|
|
+__LA_DECL const char *archive_entry_gname_w(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_hardlink(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_hardlink_utf8(struct archive_entry *);
|
|
-__LA_DECL const wchar_t *archive_entry_hardlink_w(struct archive_entry *);
|
|
+__LA_DECL const char *archive_entry_hardlink_w(struct archive_entry *);
|
|
__LA_DECL la_int64_t archive_entry_ino(struct archive_entry *);
|
|
__LA_DECL la_int64_t archive_entry_ino64(struct archive_entry *);
|
|
__LA_DECL int archive_entry_ino_is_set(struct archive_entry *);
|
|
@@ -267,24 +267,24 @@ __LA_DECL int archive_entry_mtime_is_s
|
|
__LA_DECL unsigned int archive_entry_nlink(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_pathname(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_pathname_utf8(struct archive_entry *);
|
|
-__LA_DECL const wchar_t *archive_entry_pathname_w(struct archive_entry *);
|
|
+__LA_DECL const char *archive_entry_pathname_w(struct archive_entry *);
|
|
__LA_DECL __LA_MODE_T archive_entry_perm(struct archive_entry *);
|
|
__LA_DECL dev_t archive_entry_rdev(struct archive_entry *);
|
|
__LA_DECL dev_t archive_entry_rdevmajor(struct archive_entry *);
|
|
__LA_DECL dev_t archive_entry_rdevminor(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_sourcepath(struct archive_entry *);
|
|
-__LA_DECL const wchar_t *archive_entry_sourcepath_w(struct archive_entry *);
|
|
+__LA_DECL const char *archive_entry_sourcepath_w(struct archive_entry *);
|
|
__LA_DECL la_int64_t archive_entry_size(struct archive_entry *);
|
|
__LA_DECL int archive_entry_size_is_set(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_strmode(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_symlink(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_symlink_utf8(struct archive_entry *);
|
|
__LA_DECL int archive_entry_symlink_type(struct archive_entry *);
|
|
-__LA_DECL const wchar_t *archive_entry_symlink_w(struct archive_entry *);
|
|
+__LA_DECL const char *archive_entry_symlink_w(struct archive_entry *);
|
|
__LA_DECL la_int64_t archive_entry_uid(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_uname(struct archive_entry *);
|
|
__LA_DECL const char *archive_entry_uname_utf8(struct archive_entry *);
|
|
-__LA_DECL const wchar_t *archive_entry_uname_w(struct archive_entry *);
|
|
+__LA_DECL const char *archive_entry_uname_w(struct archive_entry *);
|
|
__LA_DECL int archive_entry_is_data_encrypted(struct archive_entry *);
|
|
__LA_DECL int archive_entry_is_metadata_encrypted(struct archive_entry *);
|
|
__LA_DECL int archive_entry_is_encrypted(struct archive_entry *);
|
|
@@ -317,25 +317,25 @@ __LA_DECL void archive_entry_set_fflags(
|
|
/* Note that all recognized tokens are processed, regardless. */
|
|
__LA_DECL const char *archive_entry_copy_fflags_text(struct archive_entry *,
|
|
const char *);
|
|
-__LA_DECL const wchar_t *archive_entry_copy_fflags_text_w(struct archive_entry *,
|
|
- const wchar_t *);
|
|
+__LA_DECL const char *archive_entry_copy_fflags_text_w(struct archive_entry *,
|
|
+ const char *);
|
|
__LA_DECL void archive_entry_set_gid(struct archive_entry *, la_int64_t);
|
|
__LA_DECL void archive_entry_set_gname(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_gname_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_copy_gname(struct archive_entry *, const char *);
|
|
-__LA_DECL void archive_entry_copy_gname_w(struct archive_entry *, const wchar_t *);
|
|
+__LA_DECL void archive_entry_copy_gname_w(struct archive_entry *, const char *);
|
|
__LA_DECL int archive_entry_update_gname_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_hardlink(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_hardlink_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_copy_hardlink(struct archive_entry *, const char *);
|
|
-__LA_DECL void archive_entry_copy_hardlink_w(struct archive_entry *, const wchar_t *);
|
|
+__LA_DECL void archive_entry_copy_hardlink_w(struct archive_entry *, const char *);
|
|
__LA_DECL int archive_entry_update_hardlink_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_ino(struct archive_entry *, la_int64_t);
|
|
__LA_DECL void archive_entry_set_ino64(struct archive_entry *, la_int64_t);
|
|
__LA_DECL void archive_entry_set_link(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_link_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_copy_link(struct archive_entry *, const char *);
|
|
-__LA_DECL void archive_entry_copy_link_w(struct archive_entry *, const wchar_t *);
|
|
+__LA_DECL void archive_entry_copy_link_w(struct archive_entry *, const char *);
|
|
__LA_DECL int archive_entry_update_link_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_mode(struct archive_entry *, __LA_MODE_T);
|
|
__LA_DECL void archive_entry_set_mtime(struct archive_entry *, time_t, long);
|
|
@@ -344,7 +344,7 @@ __LA_DECL void archive_entry_set_nlink(s
|
|
__LA_DECL void archive_entry_set_pathname(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_pathname_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_copy_pathname(struct archive_entry *, const char *);
|
|
-__LA_DECL void archive_entry_copy_pathname_w(struct archive_entry *, const wchar_t *);
|
|
+__LA_DECL void archive_entry_copy_pathname_w(struct archive_entry *, const char *);
|
|
__LA_DECL int archive_entry_update_pathname_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_perm(struct archive_entry *, __LA_MODE_T);
|
|
__LA_DECL void archive_entry_set_rdev(struct archive_entry *, dev_t);
|
|
@@ -353,18 +353,18 @@ __LA_DECL void archive_entry_set_rdevmin
|
|
__LA_DECL void archive_entry_set_size(struct archive_entry *, la_int64_t);
|
|
__LA_DECL void archive_entry_unset_size(struct archive_entry *);
|
|
__LA_DECL void archive_entry_copy_sourcepath(struct archive_entry *, const char *);
|
|
-__LA_DECL void archive_entry_copy_sourcepath_w(struct archive_entry *, const wchar_t *);
|
|
+__LA_DECL void archive_entry_copy_sourcepath_w(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_symlink(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_symlink_type(struct archive_entry *, int);
|
|
__LA_DECL void archive_entry_set_symlink_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_copy_symlink(struct archive_entry *, const char *);
|
|
-__LA_DECL void archive_entry_copy_symlink_w(struct archive_entry *, const wchar_t *);
|
|
+__LA_DECL void archive_entry_copy_symlink_w(struct archive_entry *, const char *);
|
|
__LA_DECL int archive_entry_update_symlink_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_uid(struct archive_entry *, la_int64_t);
|
|
__LA_DECL void archive_entry_set_uname(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_uname_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_copy_uname(struct archive_entry *, const char *);
|
|
-__LA_DECL void archive_entry_copy_uname_w(struct archive_entry *, const wchar_t *);
|
|
+__LA_DECL void archive_entry_copy_uname_w(struct archive_entry *, const char *);
|
|
__LA_DECL int archive_entry_update_uname_utf8(struct archive_entry *, const char *);
|
|
__LA_DECL void archive_entry_set_is_data_encrypted(struct archive_entry *, char is_encrypted);
|
|
__LA_DECL void archive_entry_set_is_metadata_encrypted(struct archive_entry *, char is_encrypted);
|
|
@@ -510,7 +510,7 @@ __LA_DECL int archive_entry_acl_add_ent
|
|
int /* qual */, const char * /* name */);
|
|
__LA_DECL int archive_entry_acl_add_entry_w(struct archive_entry *,
|
|
int /* type */, int /* permset */, int /* tag */,
|
|
- int /* qual */, const wchar_t * /* name */);
|
|
+ int /* qual */, const char * /* name */);
|
|
|
|
/*
|
|
* To retrieve the ACL, first "reset", then repeatedly ask for the
|
|
@@ -550,12 +550,12 @@ __LA_DECL int archive_entry_acl_next(st
|
|
#define ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA 0x00000008
|
|
#define ARCHIVE_ENTRY_ACL_STYLE_COMPACT 0x00000010
|
|
|
|
-__LA_DECL wchar_t *archive_entry_acl_to_text_w(struct archive_entry *,
|
|
+__LA_DECL char *archive_entry_acl_to_text_w(struct archive_entry *,
|
|
la_ssize_t * /* len */, int /* flags */);
|
|
__LA_DECL char *archive_entry_acl_to_text(struct archive_entry *,
|
|
la_ssize_t * /* len */, int /* flags */);
|
|
__LA_DECL int archive_entry_acl_from_text_w(struct archive_entry *,
|
|
- const wchar_t * /* wtext */, int /* type */);
|
|
+ const char * /* wtext */, int /* type */);
|
|
__LA_DECL int archive_entry_acl_from_text(struct archive_entry *,
|
|
const char * /* text */, int /* type */);
|
|
|
|
@@ -564,7 +564,7 @@ __LA_DECL int archive_entry_acl_from_tex
|
|
#define OLD_ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT 2048
|
|
|
|
/* Deprecated functions */
|
|
-__LA_DECL const wchar_t *archive_entry_acl_text_w(struct archive_entry *,
|
|
+__LA_DECL const char *archive_entry_acl_text_w(struct archive_entry *,
|
|
int /* flags */) __LA_DEPRECATED;
|
|
__LA_DECL const char *archive_entry_acl_text(struct archive_entry *,
|
|
int /* flags */) __LA_DEPRECATED;
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_entry_paths.3 b/Utilities/cmlibarchive/libarchive/archive_entry_paths.3
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_entry_paths.3 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_paths.3 2021-02-11 18:43:34.415862139 +0330
|
|
@@ -57,14 +57,14 @@ Streaming Archive Library (libarchive, -
|
|
.In archive_entry.h
|
|
.Ft const char *
|
|
.Fn archive_entry_hardlink "struct archive_entry *a"
|
|
-.Ft const wchar_t *
|
|
+.Ft const char *
|
|
.Fn archive_entry_hardlink_w "struct archive_entry *a"
|
|
.Ft void
|
|
.Fn archive_entry_set_hardlink "struct archive_entry *a" "const char *path"
|
|
.Ft void
|
|
.Fn archive_entry_copy_hardlink "struct archive_entry *a" "const char *path"
|
|
.Ft void
|
|
-.Fn archive_entry_copy_hardlink_w "struct archive_entry *a "const wchar_t *path"
|
|
+.Fn archive_entry_copy_hardlink_w "struct archive_entry *a "const char *path"
|
|
.Ft int
|
|
.Fn archive_entry_update_hardlink_utf8 "struct archive_entry *a" "const char *path"
|
|
.Ft void
|
|
@@ -72,19 +72,19 @@ Streaming Archive Library (libarchive, -
|
|
.Ft void
|
|
.Fn archive_entry_copy_link "struct archive_entry *a" " const char *path"
|
|
.Ft void
|
|
-.Fn archive_entry_copy_link_w "struct archive_entry *a" " const wchar_t *path"
|
|
+.Fn archive_entry_copy_link_w "struct archive_entry *a" " const char *path"
|
|
.Ft int
|
|
.Fn archive_entry_update_link_utf8 "struct archive_entry *a" " const char *path"
|
|
.Ft const char *
|
|
.Fn archive_entry_pathname "struct archive_entry *a"
|
|
-.Ft const wchar_t *
|
|
+.Ft const char *
|
|
.Fn archive_entry_pathname_w "struct archive_entry *a"
|
|
.Ft void
|
|
.Fn archive_entry_set_pathname "struct archive_entry *a" "const char *path"
|
|
.Ft void
|
|
.Fn archive_entry_copy_pathname "struct archive_entry *a" "const char *path"
|
|
.Ft void
|
|
-.Fn archive_entry_copy_pathname_w "struct archive_entry *a" "const wchar_t *path"
|
|
+.Fn archive_entry_copy_pathname_w "struct archive_entry *a" "const char *path"
|
|
.Ft int
|
|
.Fn archive_entry_update_pathname_utf8 "struct archive_entry *a" "const char *path"
|
|
.Ft const char *
|
|
@@ -93,14 +93,14 @@ Streaming Archive Library (libarchive, -
|
|
.Fn archive_entry_copy_sourcepath "struct archive_entry *a" "const char *path"
|
|
.Ft const char *
|
|
.Fn archive_entry_symlink "struct archive_entry *a"
|
|
-.Ft const wchar_t *
|
|
+.Ft const char *
|
|
.Fn archive_entry_symlink_w "struct archive_entry *a"
|
|
.Ft void
|
|
.Fn archive_entry_set_symlink "struct archive_entry *a" "const char *path"
|
|
.Ft void
|
|
.Fn archive_entry_copy_symlink "struct archive_entry *a" "const char *path"
|
|
.Ft void
|
|
-.Fn archive_entry_copy_symlink_w "struct archive_entry *a" "const wchar_t *path"
|
|
+.Fn archive_entry_copy_symlink_w "struct archive_entry *a" "const char *path"
|
|
.Ft int
|
|
.Fn archive_entry_update_symlink_utf8 "struct archive_entry *a" "const char *path"
|
|
.Sh DESCRIPTION
|
|
@@ -124,10 +124,10 @@ Destination of the symbolic link.
|
|
.El
|
|
.Pp
|
|
Path names can be provided in one of three different ways:
|
|
-.Bl -tag -width "wchar_t *"
|
|
+.Bl -tag -width "char *"
|
|
.It char *
|
|
Multibyte strings in the current locale.
|
|
-.It wchar_t *
|
|
+.It char *
|
|
Wide character strings in the current locale.
|
|
The accessor functions are named
|
|
.Fn XXX_w .
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_entry_perms.3 b/Utilities/cmlibarchive/libarchive/archive_entry_perms.3
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_entry_perms.3 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_perms.3 2021-02-11 18:43:34.412528752 +0330
|
|
@@ -72,26 +72,26 @@ Streaming Archive Library (libarchive, -
|
|
.Fn archive_entry_strmode "struct archive_entry *a"
|
|
.Ft const char *
|
|
.Fn archive_entry_gname "struct archive_entry *a"
|
|
-.Ft const wchar_t *
|
|
+.Ft const char *
|
|
.Fn archive_entry_gname_w "struct archive_entry *a"
|
|
.Ft void
|
|
.Fn archive_entry_set_gname "struct archive_entry *a" "const char *a"
|
|
.Ft void
|
|
.Fn archive_entry_copy_gname "struct archive_entry *a" "const char *name"
|
|
.Ft void
|
|
-.Fn archive_entry_copy_gname_w "struct archive_entry *a" "const wchar_t *name"
|
|
+.Fn archive_entry_copy_gname_w "struct archive_entry *a" "const char *name"
|
|
.Ft int
|
|
.Fn archive_entry_update_gname_utf8 "struct archive_entry *a" "const char *name"
|
|
.Ft const char *
|
|
.Fn archive_entry_uname "struct archive_entry *a"
|
|
-.Ft const wchar_t *
|
|
+.Ft const char *
|
|
.Fn archive_entry_uname_w "struct archive_entry *a"
|
|
.Ft void
|
|
.Fn archive_entry_set_uname "struct archive_entry *a" "const char *name"
|
|
.Ft void
|
|
.Fn archive_entry_copy_uname "struct archive_entry *a" "const char *name"
|
|
.Ft void
|
|
-.Fn archive_entry_copy_uname_w "struct archive_entry *a" "const wchar_t *name"
|
|
+.Fn archive_entry_copy_uname_w "struct archive_entry *a" "const char *name"
|
|
.Ft int
|
|
.Fn archive_entry_update_uname_utf8 "struct archive_entry *a" "const char *name"
|
|
.Ft void
|
|
@@ -110,8 +110,8 @@ Streaming Archive Library (libarchive, -
|
|
.Fc
|
|
.Ft const char *
|
|
.Fn archive_entry_copy_fflags_text "struct archive_entry *a" "const char *text"
|
|
-.Ft const wchar_t *
|
|
-.Fn archive_entry_copy_fflags_text_w "struct archive_entry *a" "const wchar_t *text"
|
|
+.Ft const char *
|
|
+.Fn archive_entry_copy_fflags_text_w "struct archive_entry *a" "const char *text"
|
|
.Sh DESCRIPTION
|
|
.Ss User id, group id and mode
|
|
The functions
|
|
@@ -134,10 +134,10 @@ returns a string representation of the p
|
|
.Xr ls 1 .
|
|
.Ss User and group name
|
|
User and group names can be provided in one of three different ways:
|
|
-.Bl -tag -width "wchar_t *"
|
|
+.Bl -tag -width "char *"
|
|
.It char *
|
|
Multibyte strings in the current locale.
|
|
-.It wchar_t *
|
|
+.It char *
|
|
Wide character strings in the current locale.
|
|
The accessor functions are named
|
|
.Fn XXX_w .
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive.h b/Utilities/cmlibarchive/libarchive/archive.h
|
|
--- a/Utilities/cmlibarchive/libarchive/archive.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive.h 2021-02-11 18:43:34.382528279 +0330
|
|
@@ -39,7 +39,7 @@
|
|
#define ARCHIVE_VERSION_NUMBER 3004002
|
|
|
|
#include <sys/stat.h>
|
|
-#include <stddef.h> /* for wchar_t */
|
|
+#include <stddef.h> /* for char */
|
|
#include <stdio.h> /* For FILE * */
|
|
#include <time.h> /* For time_t */
|
|
|
|
@@ -525,7 +525,7 @@ __LA_DECL int archive_read_open_filename
|
|
__LA_DECL int archive_read_open_filenames(struct archive *,
|
|
const char **_filenames, size_t _block_size);
|
|
__LA_DECL int archive_read_open_filename_w(struct archive *,
|
|
- const wchar_t *_filename, size_t _block_size);
|
|
+ const char *_filename, size_t _block_size);
|
|
/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */
|
|
__LA_DECL int archive_read_open_file(struct archive *,
|
|
const char *_filename, size_t _block_size) __LA_DEPRECATED;
|
|
@@ -820,7 +820,7 @@ __LA_DECL int archive_write_open(struct
|
|
__LA_DECL int archive_write_open_fd(struct archive *, int _fd);
|
|
__LA_DECL int archive_write_open_filename(struct archive *, const char *_file);
|
|
__LA_DECL int archive_write_open_filename_w(struct archive *,
|
|
- const wchar_t *_file);
|
|
+ const char *_file);
|
|
/* A deprecated synonym for archive_write_open_filename() */
|
|
__LA_DECL int archive_write_open_file(struct archive *, const char *_file)
|
|
__LA_DEPRECATED;
|
|
@@ -976,7 +976,7 @@ __LA_DECL int archive_read_disk_set_unam
|
|
void (* /* cleanup_fn */)(void *));
|
|
/* Start traversal. */
|
|
__LA_DECL int archive_read_disk_open(struct archive *, const char *);
|
|
-__LA_DECL int archive_read_disk_open_w(struct archive *, const wchar_t *);
|
|
+__LA_DECL int archive_read_disk_open_w(struct archive *, const char *);
|
|
/*
|
|
* Request that current entry be visited. If you invoke it on every
|
|
* directory, you'll get a physical traversal. This is ignored if the
|
|
@@ -1099,21 +1099,21 @@ __LA_DECL int archive_match_set_inclusio
|
|
/* Add exclusion pathname pattern. */
|
|
__LA_DECL int archive_match_exclude_pattern(struct archive *, const char *);
|
|
__LA_DECL int archive_match_exclude_pattern_w(struct archive *,
|
|
- const wchar_t *);
|
|
+ const char *);
|
|
/* Add exclusion pathname pattern from file. */
|
|
__LA_DECL int archive_match_exclude_pattern_from_file(struct archive *,
|
|
const char *, int _nullSeparator);
|
|
__LA_DECL int archive_match_exclude_pattern_from_file_w(struct archive *,
|
|
- const wchar_t *, int _nullSeparator);
|
|
+ const char *, int _nullSeparator);
|
|
/* Add inclusion pathname pattern. */
|
|
__LA_DECL int archive_match_include_pattern(struct archive *, const char *);
|
|
__LA_DECL int archive_match_include_pattern_w(struct archive *,
|
|
- const wchar_t *);
|
|
+ const char *);
|
|
/* Add inclusion pathname pattern from file. */
|
|
__LA_DECL int archive_match_include_pattern_from_file(struct archive *,
|
|
const char *, int _nullSeparator);
|
|
__LA_DECL int archive_match_include_pattern_from_file_w(struct archive *,
|
|
- const wchar_t *, int _nullSeparator);
|
|
+ const char *, int _nullSeparator);
|
|
/*
|
|
* How to get statistic information for inclusion patterns.
|
|
*/
|
|
@@ -1124,7 +1124,7 @@ __LA_DECL int archive_match_path_unmatch
|
|
__LA_DECL int archive_match_path_unmatched_inclusions_next(
|
|
struct archive *, const char **);
|
|
__LA_DECL int archive_match_path_unmatched_inclusions_next_w(
|
|
- struct archive *, const wchar_t **);
|
|
+ struct archive *, const char **);
|
|
|
|
/*
|
|
* Test if a file is excluded by its time stamp.
|
|
@@ -1154,12 +1154,12 @@ __LA_DECL int archive_match_include_time
|
|
__LA_DECL int archive_match_include_date(struct archive *, int _flag,
|
|
const char *_datestr);
|
|
__LA_DECL int archive_match_include_date_w(struct archive *, int _flag,
|
|
- const wchar_t *_datestr);
|
|
+ const char *_datestr);
|
|
/* Set inclusion time by a particular file. */
|
|
__LA_DECL int archive_match_include_file_time(struct archive *,
|
|
int _flag, const char *_pathname);
|
|
__LA_DECL int archive_match_include_file_time_w(struct archive *,
|
|
- int _flag, const wchar_t *_pathname);
|
|
+ int _flag, const char *_pathname);
|
|
/* Add exclusion entry. */
|
|
__LA_DECL int archive_match_exclude_entry(struct archive *,
|
|
int _flag, struct archive_entry *);
|
|
@@ -1175,10 +1175,10 @@ __LA_DECL int archive_match_include_uid(
|
|
__LA_DECL int archive_match_include_gid(struct archive *, la_int64_t);
|
|
__LA_DECL int archive_match_include_uname(struct archive *, const char *);
|
|
__LA_DECL int archive_match_include_uname_w(struct archive *,
|
|
- const wchar_t *);
|
|
+ const char *);
|
|
__LA_DECL int archive_match_include_gname(struct archive *, const char *);
|
|
__LA_DECL int archive_match_include_gname_w(struct archive *,
|
|
- const wchar_t *);
|
|
+ const char *);
|
|
|
|
/* Utility functions */
|
|
/* Convenience function to sort a NULL terminated list of strings */
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_match.c b/Utilities/cmlibarchive/libarchive/archive_match.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_match.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_match.c 2021-02-11 18:43:34.449195998 +0330
|
|
@@ -144,7 +144,7 @@ static int add_owner_name(struct archive
|
|
static int add_pattern_mbs(struct archive_match *, struct match_list *,
|
|
const char *);
|
|
static int add_pattern_wcs(struct archive_match *, struct match_list *,
|
|
- const wchar_t *);
|
|
+ const char *);
|
|
static int cmp_key_mbs(const struct archive_rb_node *, const void *);
|
|
static int cmp_key_wcs(const struct archive_rb_node *, const void *);
|
|
static int cmp_node_mbs(const struct archive_rb_node *,
|
|
@@ -166,7 +166,7 @@ static int match_owner_name_mbs(struct a
|
|
struct match_list *, const char *);
|
|
#else
|
|
static int match_owner_name_wcs(struct archive_match *,
|
|
- struct match_list *, const wchar_t *);
|
|
+ struct match_list *, const char *);
|
|
#endif
|
|
static int match_path_exclusion(struct archive_match *,
|
|
struct match *, int, const void *);
|
|
@@ -180,10 +180,10 @@ static int set_timefilter(struct archive
|
|
static int set_timefilter_pathname_mbs(struct archive_match *,
|
|
int, const char *);
|
|
static int set_timefilter_pathname_wcs(struct archive_match *,
|
|
- int, const wchar_t *);
|
|
+ int, const char *);
|
|
static int set_timefilter_date(struct archive_match *, int, const char *);
|
|
static int set_timefilter_date_w(struct archive_match *, int,
|
|
- const wchar_t *);
|
|
+ const char *);
|
|
static int time_excluded(struct archive_match *,
|
|
struct archive_entry *);
|
|
static int validate_time_flag(struct archive *, int, const char *);
|
|
@@ -329,7 +329,7 @@ archive_match_exclude_pattern(struct arc
|
|
}
|
|
|
|
int
|
|
-archive_match_exclude_pattern_w(struct archive *_a, const wchar_t *pattern)
|
|
+archive_match_exclude_pattern_w(struct archive *_a, const char *pattern)
|
|
{
|
|
struct archive_match *a;
|
|
int r;
|
|
@@ -363,7 +363,7 @@ archive_match_exclude_pattern_from_file(
|
|
|
|
int
|
|
archive_match_exclude_pattern_from_file_w(struct archive *_a,
|
|
- const wchar_t *pathname, int nullSeparator)
|
|
+ const char *pathname, int nullSeparator)
|
|
{
|
|
struct archive_match *a;
|
|
|
|
@@ -395,7 +395,7 @@ archive_match_include_pattern(struct arc
|
|
}
|
|
|
|
int
|
|
-archive_match_include_pattern_w(struct archive *_a, const wchar_t *pattern)
|
|
+archive_match_include_pattern_w(struct archive *_a, const char *pattern)
|
|
{
|
|
struct archive_match *a;
|
|
int r;
|
|
@@ -429,7 +429,7 @@ archive_match_include_pattern_from_file(
|
|
|
|
int
|
|
archive_match_include_pattern_from_file_w(struct archive *_a,
|
|
- const wchar_t *pathname, int nullSeparator)
|
|
+ const char *pathname, int nullSeparator)
|
|
{
|
|
struct archive_match *a;
|
|
|
|
@@ -530,7 +530,7 @@ archive_match_path_unmatched_inclusions_
|
|
|
|
int
|
|
archive_match_path_unmatched_inclusions_next_w(struct archive *_a,
|
|
- const wchar_t **_p)
|
|
+ const char **_p)
|
|
{
|
|
struct archive_match *a;
|
|
const void *v;
|
|
@@ -541,7 +541,7 @@ archive_match_path_unmatched_inclusions_
|
|
a = (struct archive_match *)_a;
|
|
|
|
r = match_list_unmatched_inclusions_next(a, &(a->inclusions), 0, &v);
|
|
- *_p = (const wchar_t *)v;
|
|
+ *_p = (const char *)v;
|
|
return (r);
|
|
}
|
|
|
|
@@ -570,7 +570,7 @@ add_pattern_mbs(struct archive_match *a,
|
|
|
|
static int
|
|
add_pattern_wcs(struct archive_match *a, struct match_list *list,
|
|
- const wchar_t *pattern)
|
|
+ const char *pattern)
|
|
{
|
|
struct match *match;
|
|
size_t len;
|
|
@@ -788,10 +788,10 @@ match_path_exclusion(struct archive_matc
|
|
if (r == 0)
|
|
return (archive_pathmatch(p, (const char *)pn, flag));
|
|
} else {
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
r = archive_mstring_get_wcs(&(a->archive), &(m->pattern), &p);
|
|
if (r == 0)
|
|
- return (archive_pathmatch_w(p, (const wchar_t *)pn,
|
|
+ return (archive_pathmatch_w(p, (const char *)pn,
|
|
flag));
|
|
}
|
|
if (errno == ENOMEM)
|
|
@@ -819,10 +819,10 @@ match_path_inclusion(struct archive_matc
|
|
if (r == 0)
|
|
return (archive_pathmatch(p, (const char *)pn, flag));
|
|
} else {
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
r = archive_mstring_get_wcs(&(a->archive), &(m->pattern), &p);
|
|
if (r == 0)
|
|
- return (archive_pathmatch_w(p, (const wchar_t *)pn,
|
|
+ return (archive_pathmatch_w(p, (const char *)pn,
|
|
flag));
|
|
}
|
|
if (errno == ENOMEM)
|
|
@@ -892,13 +892,13 @@ match_list_unmatched_inclusions_next(str
|
|
p = "";
|
|
*vp = p;
|
|
} else {
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
r = archive_mstring_get_wcs(&(a->archive),
|
|
&(m->pattern), &p);
|
|
if (r < 0 && errno == ENOMEM)
|
|
return (error_nomem(a));
|
|
if (p == NULL)
|
|
- p = L"";
|
|
+ p = "";
|
|
*vp = p;
|
|
}
|
|
list->unmatched_next = m->next;
|
|
@@ -941,7 +941,7 @@ archive_match_include_date(struct archiv
|
|
|
|
int
|
|
archive_match_include_date_w(struct archive *_a, int flag,
|
|
- const wchar_t *datestr)
|
|
+ const char *datestr)
|
|
{
|
|
int r;
|
|
|
|
@@ -967,7 +967,7 @@ archive_match_include_file_time(struct a
|
|
|
|
int
|
|
archive_match_include_file_time_w(struct archive *_a, int flag,
|
|
- const wchar_t *pathname)
|
|
+ const char *pathname)
|
|
{
|
|
int r;
|
|
|
|
@@ -1117,7 +1117,7 @@ set_timefilter_date(struct archive_match
|
|
|
|
static int
|
|
set_timefilter_date_w(struct archive_match *a, int timetype,
|
|
- const wchar_t *datestr)
|
|
+ const char *datestr)
|
|
{
|
|
struct archive_string as;
|
|
time_t t;
|
|
@@ -1207,7 +1207,7 @@ set_timefilter_pathname_mbs(struct archi
|
|
|
|
static int
|
|
set_timefilter_pathname_wcs(struct archive_match *a, int timetype,
|
|
- const wchar_t *path)
|
|
+ const char *path)
|
|
{
|
|
HANDLE h;
|
|
WIN32_FIND_DATAW d;
|
|
@@ -1270,7 +1270,7 @@ set_timefilter_pathname_mbs(struct archi
|
|
|
|
static int
|
|
set_timefilter_pathname_wcs(struct archive_match *a, int timetype,
|
|
- const wchar_t *path)
|
|
+ const char *path)
|
|
{
|
|
struct archive_string as;
|
|
int r;
|
|
@@ -1336,7 +1336,7 @@ cmp_node_wcs(const struct archive_rb_nod
|
|
{
|
|
struct match_file *f1 = (struct match_file *)(uintptr_t)n1;
|
|
struct match_file *f2 = (struct match_file *)(uintptr_t)n2;
|
|
- const wchar_t *p1, *p2;
|
|
+ const char *p1, *p2;
|
|
|
|
archive_mstring_get_wcs(NULL, &(f1->pathname), &p1);
|
|
archive_mstring_get_wcs(NULL, &(f2->pathname), &p2);
|
|
@@ -1351,12 +1351,12 @@ static int
|
|
cmp_key_wcs(const struct archive_rb_node *n, const void *key)
|
|
{
|
|
struct match_file *f = (struct match_file *)(uintptr_t)n;
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
|
|
archive_mstring_get_wcs(NULL, &(f->pathname), &p);
|
|
if (p == NULL)
|
|
return (-1);
|
|
- return (wcscmp(p, (const wchar_t *)key));
|
|
+ return (wcscmp(p, (const char *)key));
|
|
}
|
|
|
|
static void
|
|
@@ -1644,7 +1644,7 @@ archive_match_include_uname(struct archi
|
|
}
|
|
|
|
int
|
|
-archive_match_include_uname_w(struct archive *_a, const wchar_t *uname)
|
|
+archive_match_include_uname_w(struct archive *_a, const char *uname)
|
|
{
|
|
struct archive_match *a;
|
|
|
|
@@ -1666,7 +1666,7 @@ archive_match_include_gname(struct archi
|
|
}
|
|
|
|
int
|
|
-archive_match_include_gname_w(struct archive *_a, const wchar_t *gname)
|
|
+archive_match_include_gname_w(struct archive *_a, const char *gname)
|
|
{
|
|
struct archive_match *a;
|
|
|
|
@@ -1803,10 +1803,10 @@ match_owner_name_mbs(struct archive_matc
|
|
#else
|
|
static int
|
|
match_owner_name_wcs(struct archive_match *a, struct match_list *list,
|
|
- const wchar_t *name)
|
|
+ const char *name)
|
|
{
|
|
struct match *m;
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
|
|
if (name == NULL || *name == L'\0')
|
|
return (0);
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_pathmatch.c b/Utilities/cmlibarchive/libarchive/archive_pathmatch.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_pathmatch.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_pathmatch.c 2021-02-11 18:43:34.425862296 +0330
|
|
@@ -100,10 +100,10 @@ pm_list(const char *start, const char *e
|
|
}
|
|
|
|
static int
|
|
-pm_list_w(const wchar_t *start, const wchar_t *end, const wchar_t c, int flags)
|
|
+pm_list_w(const char *start, const char *end, const char c, int flags)
|
|
{
|
|
- const wchar_t *p = start;
|
|
- wchar_t rangeStart = L'\0', nextRangeStart;
|
|
+ const char *p = start;
|
|
+ char rangeStart = L'\0', nextRangeStart;
|
|
int match = 1, nomatch = 0;
|
|
|
|
/* This will be used soon... */
|
|
@@ -125,7 +125,7 @@ pm_list_w(const wchar_t *start, const wc
|
|
if (*p == c)
|
|
return (match);
|
|
} else {
|
|
- wchar_t rangeEnd = *++p;
|
|
+ char rangeEnd = *++p;
|
|
if (rangeEnd == L'\\')
|
|
rangeEnd = *++p;
|
|
if ((rangeStart <= c) && (c <= rangeEnd))
|
|
@@ -158,8 +158,8 @@ pm_slashskip(const char *s) {
|
|
return (s);
|
|
}
|
|
|
|
-static const wchar_t *
|
|
-pm_slashskip_w(const wchar_t *s) {
|
|
+static const char *
|
|
+pm_slashskip_w(const char *s) {
|
|
while ((*s == L'/')
|
|
|| (s[0] == L'.' && s[1] == L'/')
|
|
|| (s[0] == L'.' && s[1] == L'\0'))
|
|
@@ -273,9 +273,9 @@ pm(const char *p, const char *s, int fla
|
|
}
|
|
|
|
static int
|
|
-pm_w(const wchar_t *p, const wchar_t *s, int flags)
|
|
+pm_w(const char *p, const char *s, int flags)
|
|
{
|
|
- const wchar_t *end;
|
|
+ const char *end;
|
|
|
|
/*
|
|
* Ignore leading './', './/', '././', etc.
|
|
@@ -419,7 +419,7 @@ __archive_pathmatch(const char *p, const
|
|
}
|
|
|
|
int
|
|
-__archive_pathmatch_w(const wchar_t *p, const wchar_t *s, int flags)
|
|
+__archive_pathmatch_w(const char *p, const char *s, int flags)
|
|
{
|
|
/* Empty pattern only matches the empty string. */
|
|
if (p == NULL || *p == L'\0')
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_pathmatch.h b/Utilities/cmlibarchive/libarchive/archive_pathmatch.h
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_pathmatch.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_pathmatch.h 2021-02-11 18:43:34.392528437 +0330
|
|
@@ -44,7 +44,7 @@
|
|
* flag above. */
|
|
|
|
int __archive_pathmatch(const char *p, const char *s, int flags);
|
|
-int __archive_pathmatch_w(const wchar_t *p, const wchar_t *s, int flags);
|
|
+int __archive_pathmatch_w(const char *p, const char *s, int flags);
|
|
|
|
#define archive_pathmatch(p, s, f) __archive_pathmatch(p, s, f)
|
|
#define archive_pathmatch_w(p, s, f) __archive_pathmatch_w(p, s, f)
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_private.h b/Utilities/cmlibarchive/libarchive/archive_private.h
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_private.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_private.h 2021-02-11 18:43:34.379194894 +0330
|
|
@@ -154,7 +154,7 @@ void __archive_errx(int retvalue, const
|
|
void __archive_ensure_cloexec_flag(int fd);
|
|
int __archive_mktemp(const char *tmpdir);
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
-int __archive_mkstemp(wchar_t *template);
|
|
+int __archive_mkstemp(char *template);
|
|
#else
|
|
int __archive_mkstemp(char *template);
|
|
#endif
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c b/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c 2021-02-12 14:39:59.857852509 +0330
|
|
@@ -1333,7 +1333,7 @@ archive_read_disk_open(struct archive *_
|
|
}
|
|
|
|
int
|
|
-archive_read_disk_open_w(struct archive *_a, const wchar_t *pathname)
|
|
+archive_read_disk_open_w(struct archive *_a, const char *pathname)
|
|
{
|
|
struct archive_read_disk *a = (struct archive_read_disk *)_a;
|
|
struct archive_string path;
|
|
@@ -1344,7 +1344,7 @@ archive_read_disk_open_w(struct archive
|
|
"archive_read_disk_open_w");
|
|
archive_clear_error(&a->archive);
|
|
|
|
- /* Make a char string from a wchar_t string. */
|
|
+ /* Make a char string from a char string. */
|
|
archive_string_init(&path);
|
|
if (archive_string_append_from_wcs(&path, pathname,
|
|
wcslen(pathname)) != 0) {
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c b/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c 2021-02-11 18:43:34.362527965 +0330
|
|
@@ -72,7 +72,7 @@ __FBSDID("$FreeBSD$");
|
|
*/
|
|
|
|
struct restore_time {
|
|
- const wchar_t *full_path;
|
|
+ const char *full_path;
|
|
FILETIME lastWriteTime;
|
|
FILETIME lastAccessTime;
|
|
mode_t filetype;
|
|
@@ -142,7 +142,7 @@ struct tree {
|
|
struct archive_wstring path;
|
|
|
|
/* Last path element */
|
|
- const wchar_t *basename;
|
|
+ const char *basename;
|
|
/* Leading dir length */
|
|
size_t dirname_length;
|
|
|
|
@@ -207,14 +207,14 @@ struct tree {
|
|
#define needsRestoreTimes 128
|
|
|
|
static int
|
|
-tree_dir_next_windows(struct tree *t, const wchar_t *pattern);
|
|
+tree_dir_next_windows(struct tree *t, const char *pattern);
|
|
|
|
/* Initiate/terminate a tree traversal. */
|
|
-static struct tree *tree_open(const wchar_t *, int, int);
|
|
-static struct tree *tree_reopen(struct tree *, const wchar_t *, int);
|
|
+static struct tree *tree_open(const char *, int, int);
|
|
+static struct tree *tree_reopen(struct tree *, const char *, int);
|
|
static void tree_close(struct tree *);
|
|
static void tree_free(struct tree *);
|
|
-static void tree_push(struct tree *, const wchar_t *, const wchar_t *,
|
|
+static void tree_push(struct tree *, const char *, const char *,
|
|
int, int64_t, int64_t, struct restore_time *);
|
|
|
|
/*
|
|
@@ -254,8 +254,8 @@ static int tree_next(struct tree *);
|
|
* current path.
|
|
*
|
|
*/
|
|
-static const wchar_t *tree_current_path(struct tree *);
|
|
-static const wchar_t *tree_current_access_path(struct tree *);
|
|
+static const char *tree_current_path(struct tree *);
|
|
+static const char *tree_current_access_path(struct tree *);
|
|
|
|
/*
|
|
* Request the lstat() or stat() data for the current path. Since the
|
|
@@ -283,7 +283,7 @@ static int setup_current_filesystem(stru
|
|
static int tree_target_is_same_as_parent(struct tree *,
|
|
const BY_HANDLE_FILE_INFORMATION *);
|
|
|
|
-static int _archive_read_disk_open_w(struct archive *, const wchar_t *);
|
|
+static int _archive_read_disk_open_w(struct archive *, const char *);
|
|
static int _archive_read_free(struct archive *);
|
|
static int _archive_read_close(struct archive *);
|
|
static int _archive_read_data_block(struct archive *,
|
|
@@ -299,10 +299,10 @@ static int close_and_restore_time(HANDLE
|
|
struct restore_time *);
|
|
static int setup_sparse_from_disk(struct archive_read_disk *,
|
|
struct archive_entry *, HANDLE);
|
|
-static int la_linkname_from_handle(HANDLE, wchar_t **, int *);
|
|
-static int la_linkname_from_pathw(const wchar_t *, wchar_t **, int *);
|
|
+static int la_linkname_from_handle(HANDLE, char **, int *);
|
|
+static int la_linkname_from_pathw(const char *, char **, int *);
|
|
static void entry_symlink_from_pathw(struct archive_entry *,
|
|
- const wchar_t *path);
|
|
+ const char *path);
|
|
|
|
typedef struct _REPARSE_DATA_BUFFER {
|
|
ULONG ReparseTag;
|
|
@@ -337,7 +337,7 @@ typedef struct _REPARSE_DATA_BUFFER {
|
|
* outbuf is allocated in the function
|
|
*/
|
|
static int
|
|
-la_linkname_from_handle(HANDLE h, wchar_t **linkname, int *linktype)
|
|
+la_linkname_from_handle(HANDLE h, char **linkname, int *linktype)
|
|
{
|
|
DWORD inbytes;
|
|
REPARSE_DATA_BUFFER *buf;
|
|
@@ -345,7 +345,7 @@ la_linkname_from_handle(HANDLE h, wchar_
|
|
size_t len;
|
|
BOOL ret;
|
|
BYTE *indata;
|
|
- wchar_t *tbuf;
|
|
+ char *tbuf;
|
|
|
|
ret = GetFileInformationByHandle(h, &st);
|
|
if (ret == 0 ||
|
|
@@ -376,7 +376,7 @@ la_linkname_from_handle(HANDLE h, wchar_
|
|
return (-1);
|
|
}
|
|
|
|
- tbuf = malloc(len + 1 * sizeof(wchar_t));
|
|
+ tbuf = malloc(len + 1 * sizeof(char));
|
|
if (tbuf == NULL) {
|
|
free(indata);
|
|
return (-1);
|
|
@@ -386,7 +386,7 @@ la_linkname_from_handle(HANDLE h, wchar_
|
|
[buf->SymbolicLinkReparseBuffer.SubstituteNameOffset], len);
|
|
free(indata);
|
|
|
|
- tbuf[len / sizeof(wchar_t)] = L'\0';
|
|
+ tbuf[len / sizeof(char)] = L'\0';
|
|
|
|
*linkname = tbuf;
|
|
|
|
@@ -411,7 +411,7 @@ la_linkname_from_handle(HANDLE h, wchar_
|
|
* Returns AE_SYMLINK_TYPE_FILE, AE_SYMLINK_TYPE_DIRECTORY or -1 on error
|
|
*/
|
|
static int
|
|
-la_linkname_from_pathw(const wchar_t *path, wchar_t **outbuf, int *linktype)
|
|
+la_linkname_from_pathw(const char *path, char **outbuf, int *linktype)
|
|
{
|
|
HANDLE h;
|
|
const DWORD flag = FILE_FLAG_BACKUP_SEMANTICS |
|
|
@@ -432,9 +432,9 @@ la_linkname_from_pathw(const wchar_t *pa
|
|
}
|
|
|
|
static void
|
|
-entry_symlink_from_pathw(struct archive_entry *entry, const wchar_t *path)
|
|
+entry_symlink_from_pathw(struct archive_entry *entry, const char *path)
|
|
{
|
|
- wchar_t *linkname = NULL;
|
|
+ char *linkname = NULL;
|
|
int ret, linktype;
|
|
|
|
ret = la_linkname_from_pathw(path, &linkname, &linktype);
|
|
@@ -1332,7 +1332,7 @@ archive_read_disk_open(struct archive *_
|
|
"archive_read_disk_open");
|
|
archive_clear_error(&a->archive);
|
|
|
|
- /* Make a wchar_t string from a char string. */
|
|
+ /* Make a char string from a char string. */
|
|
archive_string_init(&wpath);
|
|
if (archive_wstring_append_from_mbs(&wpath, pathname,
|
|
strlen(pathname)) != 0) {
|
|
@@ -1341,7 +1341,7 @@ archive_read_disk_open(struct archive *_
|
|
"Can't allocate memory");
|
|
else
|
|
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
|
|
- "Can't convert a path to a wchar_t string");
|
|
+ "Can't convert a path to a char string");
|
|
a->archive.state = ARCHIVE_STATE_FATAL;
|
|
ret = ARCHIVE_FATAL;
|
|
} else
|
|
@@ -1352,7 +1352,7 @@ archive_read_disk_open(struct archive *_
|
|
}
|
|
|
|
int
|
|
-archive_read_disk_open_w(struct archive *_a, const wchar_t *pathname)
|
|
+archive_read_disk_open_w(struct archive *_a, const char *pathname)
|
|
{
|
|
struct archive_read_disk *a = (struct archive_read_disk *)_a;
|
|
|
|
@@ -1365,7 +1365,7 @@ archive_read_disk_open_w(struct archive
|
|
}
|
|
|
|
static int
|
|
-_archive_read_disk_open_w(struct archive *_a, const wchar_t *pathname)
|
|
+_archive_read_disk_open_w(struct archive *_a, const char *pathname)
|
|
{
|
|
struct archive_read_disk *a = (struct archive_read_disk *)_a;
|
|
|
|
@@ -1480,11 +1480,11 @@ archive_read_disk_current_filesystem_is_
|
|
* If symlink is broken, statfs or statvfs will fail.
|
|
* Use its directory path instead.
|
|
*/
|
|
-static wchar_t *
|
|
+static char *
|
|
safe_path_for_statfs(struct tree *t)
|
|
{
|
|
- const wchar_t *path;
|
|
- wchar_t *cp, *p = NULL;
|
|
+ const char *path;
|
|
+ char *cp, *p = NULL;
|
|
|
|
path = tree_current_access_path(t);
|
|
if (tree_current_stat(t) == NULL) {
|
|
@@ -1507,8 +1507,8 @@ static int
|
|
setup_current_filesystem(struct archive_read_disk *a)
|
|
{
|
|
struct tree *t = a->tree;
|
|
- wchar_t vol[256];
|
|
- wchar_t *path;
|
|
+ char vol[256];
|
|
+ char *path;
|
|
|
|
t->current_filesystem->synthetic = -1;/* Not supported */
|
|
path = safe_path_for_statfs(t);
|
|
@@ -1584,7 +1584,7 @@ close_and_restore_time(HANDLE h, struct
|
|
* Add a directory path to the current stack.
|
|
*/
|
|
static void
|
|
-tree_push(struct tree *t, const wchar_t *path, const wchar_t *full_path,
|
|
+tree_push(struct tree *t, const char *path, const char *full_path,
|
|
int filesystem_id, int64_t dev, int64_t ino, struct restore_time *rt)
|
|
{
|
|
struct tree_entry *te;
|
|
@@ -1617,7 +1617,7 @@ tree_push(struct tree *t, const wchar_t
|
|
* Append a name to the current dir path.
|
|
*/
|
|
static void
|
|
-tree_append(struct tree *t, const wchar_t *name, size_t name_length)
|
|
+tree_append(struct tree *t, const char *name, size_t name_length)
|
|
{
|
|
size_t size_needed;
|
|
|
|
@@ -1654,7 +1654,7 @@ tree_append(struct tree *t, const wchar_
|
|
* Open a directory tree for traversal.
|
|
*/
|
|
static struct tree *
|
|
-tree_open(const wchar_t *path, int symlink_mode, int restore_time)
|
|
+tree_open(const char *path, int symlink_mode, int restore_time)
|
|
{
|
|
struct tree *t;
|
|
|
|
@@ -1667,10 +1667,10 @@ tree_open(const wchar_t *path, int symli
|
|
}
|
|
|
|
static struct tree *
|
|
-tree_reopen(struct tree *t, const wchar_t *path, int restore_time)
|
|
+tree_reopen(struct tree *t, const char *path, int restore_time)
|
|
{
|
|
struct archive_wstring ws;
|
|
- wchar_t *pathname, *p, *base;
|
|
+ char *pathname, *p, *base;
|
|
|
|
t->flags = (restore_time != 0)?needsRestoreTimes:0;
|
|
t->visit_type = 0;
|
|
@@ -1689,7 +1689,7 @@ tree_reopen(struct tree *t, const wchar_
|
|
t->entry_remaining_bytes = 0;
|
|
t->initial_filesystem_id = -1;
|
|
|
|
- /* Get wchar_t strings from char strings. */
|
|
+ /* Get char strings from char strings. */
|
|
archive_string_init(&ws);
|
|
archive_wstrcpy(&ws, path);
|
|
pathname = ws.s;
|
|
@@ -1834,7 +1834,7 @@ tree_next(struct tree *t)
|
|
}
|
|
|
|
if (t->stack->flags & needsFirstVisit) {
|
|
- wchar_t *d = t->stack->name.s;
|
|
+ char *d = t->stack->name.s;
|
|
t->stack->flags &= ~needsFirstVisit;
|
|
if (!(d[0] == L'/' && d[1] == L'/' &&
|
|
d[2] == L'?' && d[3] == L'/') &&
|
|
@@ -1877,7 +1877,7 @@ tree_next(struct tree *t)
|
|
return (t->visit_type);
|
|
} else if (t->stack->flags & needsOpen) {
|
|
t->stack->flags &= ~needsOpen;
|
|
- r = tree_dir_next_windows(t, L"*");
|
|
+ r = tree_dir_next_windows(t, "*");
|
|
if (r == 0)
|
|
continue;
|
|
return (r);
|
|
@@ -1898,9 +1898,9 @@ tree_next(struct tree *t)
|
|
}
|
|
|
|
static int
|
|
-tree_dir_next_windows(struct tree *t, const wchar_t *pattern)
|
|
+tree_dir_next_windows(struct tree *t, const char *pattern)
|
|
{
|
|
- const wchar_t *name;
|
|
+ const char *name;
|
|
size_t namelen;
|
|
int r;
|
|
|
|
@@ -1967,7 +1967,7 @@ fileTimeToUtc(const FILETIME *filetime,
|
|
}
|
|
|
|
static void
|
|
-entry_copy_bhfi(struct archive_entry *entry, const wchar_t *path,
|
|
+entry_copy_bhfi(struct archive_entry *entry, const char *path,
|
|
const WIN32_FIND_DATAW *findData,
|
|
const BY_HANDLE_FILE_INFORMATION *bhfi)
|
|
{
|
|
@@ -2006,7 +2006,7 @@ entry_copy_bhfi(struct archive_entry *en
|
|
} else if (bhfi->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
|
mode |= S_IFDIR | S_IXUSR | S_IXGRP | S_IXOTH;
|
|
else {
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
|
|
mode |= S_IFREG;
|
|
p = wcsrchr(path, L'.');
|
|
@@ -2152,7 +2152,7 @@ tree_target_is_same_as_parent(struct tre
|
|
/*
|
|
* Return the access path for the entry just returned from tree_next().
|
|
*/
|
|
-static const wchar_t *
|
|
+static const char *
|
|
tree_current_access_path(struct tree *t)
|
|
{
|
|
return (t->full_path.s);
|
|
@@ -2161,7 +2161,7 @@ tree_current_access_path(struct tree *t)
|
|
/*
|
|
* Return the full path for the entry just returned from tree_next().
|
|
*/
|
|
-static const wchar_t *
|
|
+static const char *
|
|
tree_current_path(struct tree *t)
|
|
{
|
|
return (t->path.s);
|
|
@@ -2223,8 +2223,8 @@ archive_read_disk_entry_from_file(struct
|
|
struct archive_entry *entry, int fd, const struct stat *st)
|
|
{
|
|
struct archive_read_disk *a = (struct archive_read_disk *)_a;
|
|
- const wchar_t *path;
|
|
- const wchar_t *wname;
|
|
+ const char *path;
|
|
+ const char *wname;
|
|
const char *name;
|
|
HANDLE h;
|
|
BY_HANDLE_FILE_INFORMATION bhfi;
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_open_filename.c b/Utilities/cmlibarchive/libarchive/archive_read_open_filename.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_open_filename.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_open_filename.c 2021-02-11 18:43:34.452529383 +0330
|
|
@@ -79,7 +79,7 @@ struct read_file_data {
|
|
enum fnt_e { FNT_STDIN, FNT_MBS, FNT_WCS } filename_type;
|
|
union {
|
|
char m[1];/* MBS filename. */
|
|
- wchar_t w[1];/* WCS filename. */
|
|
+ char w[1];/* WCS filename. */
|
|
} filename; /* Must be last! */
|
|
};
|
|
|
|
@@ -156,11 +156,11 @@ no_memory:
|
|
}
|
|
|
|
int
|
|
-archive_read_open_filename_w(struct archive *a, const wchar_t *wfilename,
|
|
+archive_read_open_filename_w(struct archive *a, const char *wfilename,
|
|
size_t block_size)
|
|
{
|
|
struct read_file_data *mine = (struct read_file_data *)calloc(1,
|
|
- sizeof(*mine) + wcslen(wfilename) * sizeof(wchar_t));
|
|
+ sizeof(*mine) + wcslen(wfilename) * sizeof(char));
|
|
if (!mine)
|
|
{
|
|
archive_set_error(a, ENOMEM, "No memory");
|
|
@@ -177,8 +177,8 @@ archive_read_open_filename_w(struct arch
|
|
wcscpy(mine->filename.w, wfilename);
|
|
#else
|
|
/*
|
|
- * POSIX system does not support a wchar_t interface for
|
|
- * open() system call, so we have to translate a wchar_t
|
|
+ * POSIX system does not support a char interface for
|
|
+ * open() system call, so we have to translate a char
|
|
* filename to multi-byte one and use it.
|
|
*/
|
|
struct archive_string fn;
|
|
@@ -221,7 +221,7 @@ file_open(struct archive *a, void *clien
|
|
struct read_file_data *mine = (struct read_file_data *)client_data;
|
|
void *buffer;
|
|
const char *filename = NULL;
|
|
- const wchar_t *wfilename = NULL;
|
|
+ const char *wfilename = NULL;
|
|
int fd = -1;
|
|
int is_disk_like = 0;
|
|
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
|
@@ -262,7 +262,7 @@ file_open(struct archive *a, void *clien
|
|
wfilename = mine->filename.w;
|
|
fd = _wopen(wfilename, O_RDONLY | O_BINARY);
|
|
if (fd < 0 && errno == ENOENT) {
|
|
- wchar_t *fullpath;
|
|
+ char *fullpath;
|
|
fullpath = __la_win_permissive_name_w(wfilename);
|
|
if (fullpath != NULL) {
|
|
fd = _wopen(fullpath, O_RDONLY | O_BINARY);
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c 2021-02-11 18:43:34.365861350 +0330
|
|
@@ -184,7 +184,7 @@ struct _7zip_entry {
|
|
size_t name_len;
|
|
unsigned char *utf16name;
|
|
#if defined(_WIN32) && !defined(__CYGWIN__) && defined(_DEBUG)
|
|
- const wchar_t *wname;
|
|
+ const char *wname;
|
|
#endif
|
|
uint32_t folderIndex;
|
|
uint32_t ssIndex;
|
|
@@ -2514,7 +2514,7 @@ read_Header(struct archive_read *a, stru
|
|
for (i = 0; i < zip->numFiles; i++) {
|
|
entries[i].utf16name = np;
|
|
#if defined(_WIN32) && !defined(__CYGWIN__) && defined(_DEBUG)
|
|
- entries[i].wname = (wchar_t *)np;
|
|
+ entries[i].wname = (char *)np;
|
|
#endif
|
|
|
|
/* Find a terminator. */
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c 2021-02-11 18:43:34.445862611 +0330
|
|
@@ -596,7 +596,7 @@ cab_convert_path_separator_1(struct arch
|
|
static void
|
|
cab_convert_path_separator_2(struct cab *cab, struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
size_t i;
|
|
|
|
/* If a conversion to wide character failed, force the replacement. */
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c 2021-02-11 18:43:34.455862768 +0330
|
|
@@ -482,7 +482,7 @@ archive_read_format_lha_read_header(stru
|
|
const char *signature;
|
|
int err;
|
|
struct archive_mstring conv_buffer;
|
|
- const wchar_t *conv_buffer_p;
|
|
+ const char *conv_buffer_p;
|
|
|
|
lha_crc16_init();
|
|
|
|
@@ -753,7 +753,7 @@ archive_read_format_lha_read_header(stru
|
|
static void
|
|
lha_replace_path_separator(struct lha *lha, struct archive_entry *entry)
|
|
{
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
size_t i;
|
|
|
|
if ((wp = archive_entry_pathname_w(entry)) != NULL) {
|
|
@@ -1695,7 +1695,7 @@ static int
|
|
lha_parse_linkname(struct archive_wstring *linkname,
|
|
struct archive_wstring *pathname)
|
|
{
|
|
- wchar_t * linkptr;
|
|
+ char * linkptr;
|
|
size_t symlen;
|
|
|
|
linkptr = wcschr(pathname->s, L'|');
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c 2021-02-11 18:43:34.399195209 +0330
|
|
@@ -511,7 +511,7 @@ archive_read_format_tar_read_header(stru
|
|
static int default_dev;
|
|
struct tar *tar;
|
|
const char *p;
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
int r;
|
|
size_t l, unconsumed = 0;
|
|
|
|
@@ -1398,7 +1398,7 @@ read_mac_metadata_blob(struct archive_re
|
|
int64_t size;
|
|
const void *data;
|
|
const char *p, *name;
|
|
- const wchar_t *wp, *wname;
|
|
+ const char *wp, *wname;
|
|
|
|
(void)h; /* UNUSED */
|
|
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c 2021-02-11 18:43:34.375861508 +0330
|
|
@@ -908,7 +908,7 @@ zip_read_local_file_header(struct archiv
|
|
{
|
|
const char *p;
|
|
const void *h;
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
const char *cp;
|
|
size_t len, filename_length, extra_length;
|
|
struct archive_string_conv *sconv;
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_string.c b/Utilities/cmlibarchive/libarchive/archive_string.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_string.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_string.c 2021-02-11 18:43:34.372528122 +0330
|
|
@@ -68,11 +68,11 @@ __FBSDID("$FreeBSD: head/lib/libarchive/
|
|
#include "archive_string_composition.h"
|
|
|
|
#if !defined(HAVE_WMEMCPY) && !defined(wmemcpy)
|
|
-#define wmemcpy(a,b,i) (wchar_t *)memcpy((a), (b), (i) * sizeof(wchar_t))
|
|
+#define wmemcpy(a,b,i) (char *)memcpy((a), (b), (i) * sizeof(char))
|
|
#endif
|
|
|
|
#if !defined(HAVE_WMEMMOVE) && !defined(wmemmove)
|
|
-#define wmemmove(a,b,i) (wchar_t *)memmove((a), (b), (i) * sizeof(wchar_t))
|
|
+#define wmemmove(a,b,i) (char *)memmove((a), (b), (i) * sizeof(char))
|
|
#endif
|
|
|
|
#undef max
|
|
@@ -154,7 +154,7 @@ static int archive_wstring_append_from_m
|
|
struct archive_wstring *, const char *, size_t,
|
|
struct archive_string_conv *);
|
|
static int archive_string_append_from_wcs_in_codepage(struct archive_string *,
|
|
- const wchar_t *, size_t, struct archive_string_conv *);
|
|
+ const char *, size_t, struct archive_string_conv *);
|
|
static int is_big_endian(void);
|
|
static int strncat_in_codepage(struct archive_string *, const void *,
|
|
size_t, struct archive_string_conv *);
|
|
@@ -213,7 +213,7 @@ archive_string_append(struct archive_str
|
|
}
|
|
|
|
static struct archive_wstring *
|
|
-archive_wstring_append(struct archive_wstring *as, const wchar_t *p, size_t s)
|
|
+archive_wstring_append(struct archive_wstring *as, const char *p, size_t s)
|
|
{
|
|
if (archive_wstring_ensure(as, as->length + s + 1) == NULL)
|
|
return (NULL);
|
|
@@ -268,7 +268,7 @@ archive_wstring_ensure(struct archive_ws
|
|
{
|
|
return (struct archive_wstring *)
|
|
archive_string_ensure((struct archive_string *)as,
|
|
- s * sizeof(wchar_t));
|
|
+ s * sizeof(char));
|
|
}
|
|
|
|
/* Returns NULL on any allocation failure. */
|
|
@@ -355,10 +355,10 @@ archive_strncat(struct archive_string *a
|
|
}
|
|
|
|
struct archive_wstring *
|
|
-archive_wstrncat(struct archive_wstring *as, const wchar_t *p, size_t n)
|
|
+archive_wstrncat(struct archive_wstring *as, const char *p, size_t n)
|
|
{
|
|
size_t s;
|
|
- const wchar_t *pp;
|
|
+ const char *pp;
|
|
|
|
/* Like strlen(p), except won't examine positions beyond p[n]. */
|
|
s = 0;
|
|
@@ -385,7 +385,7 @@ archive_strcat(struct archive_string *as
|
|
}
|
|
|
|
struct archive_wstring *
|
|
-archive_wstrcat(struct archive_wstring *as, const wchar_t *p)
|
|
+archive_wstrcat(struct archive_wstring *as, const char *p)
|
|
{
|
|
/* Ditto. */
|
|
return archive_wstrncat(as, p, 0x1000000);
|
|
@@ -400,7 +400,7 @@ archive_strappend_char(struct archive_st
|
|
}
|
|
|
|
struct archive_wstring *
|
|
-archive_wstrappend_wchar(struct archive_wstring *as, wchar_t c)
|
|
+archive_wstrappend_wchar(struct archive_wstring *as, char c)
|
|
{
|
|
if ((as = archive_wstring_append(as, &c, 1)) == NULL)
|
|
__archive_errx(1, "Out of memory");
|
|
@@ -463,7 +463,7 @@ archive_wstring_append_from_mbs_in_codep
|
|
/*
|
|
* "C" locale special processing.
|
|
*/
|
|
- wchar_t *ws;
|
|
+ char *ws;
|
|
const unsigned char *mp;
|
|
|
|
if (NULL == archive_wstring_ensure(dest,
|
|
@@ -474,14 +474,14 @@ archive_wstring_append_from_mbs_in_codep
|
|
mp = (const unsigned char *)s;
|
|
count = 0;
|
|
while (count < (int)length && *mp) {
|
|
- *ws++ = (wchar_t)*mp++;
|
|
+ *ws++ = (char)*mp++;
|
|
count++;
|
|
}
|
|
} else if (sc != NULL &&
|
|
(sc->flag & (SCONV_NORMALIZATION_C | SCONV_NORMALIZATION_D))) {
|
|
/*
|
|
* Normalize UTF-8 and UTF-16BE and convert it directly
|
|
- * to UTF-16 as wchar_t.
|
|
+ * to UTF-16 as char.
|
|
*/
|
|
struct archive_string u16;
|
|
int saved_flag = sc->flag;/* save current flag. */
|
|
@@ -511,7 +511,7 @@ archive_wstring_append_from_mbs_in_codep
|
|
ret = archive_string_normalize_C(&u16, s, count, sc);
|
|
else
|
|
ret = archive_string_normalize_D(&u16, s, count, sc);
|
|
- dest->s = (wchar_t *)u16.s;
|
|
+ dest->s = (char *)u16.s;
|
|
dest->length = u16.length >> 1;
|
|
dest->buffer_length = u16.buffer_length;
|
|
sc->flag = saved_flag;/* restore the saved flag. */
|
|
@@ -523,7 +523,7 @@ archive_wstring_append_from_mbs_in_codep
|
|
if (NULL == archive_wstring_ensure(dest,
|
|
dest->length + count + 1))
|
|
return (-1);
|
|
- wmemcpy(dest->s + dest->length, (const wchar_t *)s, count);
|
|
+ wmemcpy(dest->s + dest->length, (const char *)s, count);
|
|
if ((sc->flag & SCONV_FROM_UTF16BE) && !is_big_endian()) {
|
|
uint16_t *u16 = (uint16_t *)(dest->s + dest->length);
|
|
int b;
|
|
@@ -597,7 +597,7 @@ archive_wstring_append_from_mbs(struct a
|
|
// size_t wcs_length = len;
|
|
size_t mbs_length = len;
|
|
const char *mbs = p;
|
|
- wchar_t *wcs;
|
|
+ char *wcs;
|
|
#if HAVE_MBRTOWC
|
|
mbstate_t shift_state;
|
|
|
|
@@ -668,14 +668,14 @@ archive_wstring_append_from_mbs(struct a
|
|
*/
|
|
int
|
|
archive_string_append_from_wcs(struct archive_string *as,
|
|
- const wchar_t *w, size_t len)
|
|
+ const char *w, size_t len)
|
|
{
|
|
return archive_string_append_from_wcs_in_codepage(as, w, len, NULL);
|
|
}
|
|
|
|
static int
|
|
archive_string_append_from_wcs_in_codepage(struct archive_string *as,
|
|
- const wchar_t *ws, size_t len, struct archive_string_conv *sc)
|
|
+ const char *ws, size_t len, struct archive_string_conv *sc)
|
|
{
|
|
BOOL defchar_used, *dp;
|
|
int count, ret = 0;
|
|
@@ -691,7 +691,7 @@ archive_string_append_from_wcs_in_codepa
|
|
/*
|
|
* "C" locale special processing.
|
|
*/
|
|
- const wchar_t *wp = ws;
|
|
+ const char *wp = ws;
|
|
char *p;
|
|
|
|
if (NULL == archive_string_ensure(as,
|
|
@@ -773,7 +773,7 @@ archive_string_append_from_wcs_in_codepa
|
|
*/
|
|
int
|
|
archive_string_append_from_wcs(struct archive_string *as,
|
|
- const wchar_t *w, size_t len)
|
|
+ const char *w, size_t len)
|
|
{
|
|
/* We cannot use the standard wcstombs() here because it
|
|
* cannot tell us how big the output buffer should be. So
|
|
@@ -847,7 +847,7 @@ archive_string_append_from_wcs(struct ar
|
|
*/
|
|
int
|
|
archive_string_append_from_wcs(struct archive_string *as,
|
|
- const wchar_t *w, size_t len)
|
|
+ const char *w, size_t len)
|
|
{
|
|
(void)as;/* UNUSED */
|
|
(void)w;/* UNUSED */
|
|
@@ -1846,7 +1846,7 @@ archive_string_conversion_set_opt(struct
|
|
switch (opt) {
|
|
/*
|
|
* A filename in UTF-8 was made with libarchive 2.x in a wrong
|
|
- * assumption that wchar_t was Unicode.
|
|
+ * assumption that char was Unicode.
|
|
* This option enables simulating the assumption in order to read
|
|
* that filename correctly.
|
|
*/
|
|
@@ -1854,7 +1854,7 @@ archive_string_conversion_set_opt(struct
|
|
#if (defined(_WIN32) && !defined(__CYGWIN__)) \
|
|
|| defined(__STDC_ISO_10646__) || defined(__APPLE__)
|
|
/*
|
|
- * Nothing to do for it since wchar_t on these platforms
|
|
+ * Nothing to do for it since char on these platforms
|
|
* is really Unicode.
|
|
*/
|
|
(void)sc; /* UNUSED */
|
|
@@ -2194,7 +2194,7 @@ invalid_mbs(const void *_p, size_t n, st
|
|
mbtowc(NULL, NULL, 0);
|
|
#endif
|
|
while (n) {
|
|
- wchar_t wc;
|
|
+ char wc;
|
|
|
|
#if HAVE_MBRTOWC
|
|
r = mbrtowc(&wc, p, n, &shift_state);
|
|
@@ -2597,7 +2597,7 @@ unicode_to_utf16be(char *p, size_t remai
|
|
|
|
if (uc > 0xffff) {
|
|
/* We have a code point that won't fit into a
|
|
- * wchar_t; convert it to a surrogate pair. */
|
|
+ * char; convert it to a surrogate pair. */
|
|
if (remaining < 4)
|
|
return (0);
|
|
uc -= 0x10000;
|
|
@@ -2619,7 +2619,7 @@ unicode_to_utf16le(char *p, size_t remai
|
|
|
|
if (uc > 0xffff) {
|
|
/* We have a code point that won't fit into a
|
|
- * wchar_t; convert it to a surrogate pair. */
|
|
+ * char; convert it to a surrogate pair. */
|
|
if (remaining < 4)
|
|
return (0);
|
|
uc -= 0x10000;
|
|
@@ -3445,7 +3445,7 @@ strncat_from_utf8_libarchive2(struct arc
|
|
p = as->s + as->length;
|
|
end = as->s + as->buffer_length - MB_CUR_MAX -1;
|
|
while ((n = _utf8_to_unicode(&unicode, s, len)) != 0) {
|
|
- wchar_t wc;
|
|
+ char wc;
|
|
|
|
if (p >= end) {
|
|
as->length = p - as->s;
|
|
@@ -3466,7 +3466,7 @@ strncat_from_utf8_libarchive2(struct arc
|
|
n *= -1;
|
|
wc = L'?';
|
|
} else
|
|
- wc = (wchar_t)unicode;
|
|
+ wc = (char)unicode;
|
|
|
|
s += n;
|
|
len -= n;
|
|
@@ -3935,7 +3935,7 @@ archive_mstring_get_mbs(struct archive *
|
|
|
|
int
|
|
archive_mstring_get_wcs(struct archive *a, struct archive_mstring *aes,
|
|
- const wchar_t **wp)
|
|
+ const char **wp)
|
|
{
|
|
int r, ret = 0;
|
|
|
|
@@ -4053,7 +4053,7 @@ archive_mstring_copy_mbs_len(struct arch
|
|
}
|
|
|
|
int
|
|
-archive_mstring_copy_wcs(struct archive_mstring *aes, const wchar_t *wcs)
|
|
+archive_mstring_copy_wcs(struct archive_mstring *aes, const char *wcs)
|
|
{
|
|
return archive_mstring_copy_wcs_len(aes, wcs,
|
|
wcs == NULL ? 0 : wcslen(wcs));
|
|
@@ -4074,7 +4074,7 @@ archive_mstring_copy_utf8(struct archive
|
|
}
|
|
|
|
int
|
|
-archive_mstring_copy_wcs_len(struct archive_mstring *aes, const wchar_t *wcs,
|
|
+archive_mstring_copy_wcs_len(struct archive_mstring *aes, const char *wcs,
|
|
size_t len)
|
|
{
|
|
if (wcs == NULL) {
|
|
@@ -4120,7 +4120,7 @@ archive_mstring_copy_mbs_len_l(struct ar
|
|
/*
|
|
* This case happens only when MultiByteToWideChar() cannot
|
|
* handle sc->from_cp, and we have to iconv in order to
|
|
- * translate character-set to wchar_t,UTF-16.
|
|
+ * translate character-set to char,UTF-16.
|
|
*/
|
|
iconv_t cd = sc->cd;
|
|
unsigned from_cp;
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_string.h b/Utilities/cmlibarchive/libarchive/archive_string.h
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_string.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_string.h 2021-02-11 18:43:34.445862611 +0330
|
|
@@ -37,7 +37,7 @@
|
|
|
|
#include <stdarg.h>
|
|
#ifdef HAVE_STDLIB_H
|
|
-#include <stdlib.h> /* required for wchar_t on some systems */
|
|
+#include <stdlib.h> /* required for char on some systems */
|
|
#endif
|
|
#ifdef HAVE_STRING_H
|
|
#include <string.h>
|
|
@@ -62,7 +62,7 @@ struct archive_string {
|
|
};
|
|
|
|
struct archive_wstring {
|
|
- wchar_t *s; /* Pointer to the storage */
|
|
+ char *s; /* Pointer to the storage */
|
|
size_t length; /* Length of 's' in characters */
|
|
size_t buffer_length; /* Length of malloc-ed storage in bytes. */
|
|
};
|
|
@@ -77,9 +77,9 @@ struct archive_string_conv;
|
|
struct archive_string *
|
|
archive_strappend_char(struct archive_string *, char);
|
|
|
|
-/* Ditto for a wchar_t and an archive_wstring. */
|
|
+/* Ditto for a char and an archive_wstring. */
|
|
struct archive_wstring *
|
|
-archive_wstrappend_wchar(struct archive_wstring *, wchar_t);
|
|
+archive_wstrappend_wchar(struct archive_wstring *, char);
|
|
|
|
/* Append a raw array to an archive_string, resizing as necessary */
|
|
struct archive_string *
|
|
@@ -88,7 +88,7 @@ archive_array_append(struct archive_stri
|
|
/* Convert a Unicode string to current locale and append the result. */
|
|
/* Returns -1 if conversion fails. */
|
|
int
|
|
-archive_string_append_from_wcs(struct archive_string *, const wchar_t *, size_t);
|
|
+archive_string_append_from_wcs(struct archive_string *, const char *, size_t);
|
|
|
|
|
|
/* Create a string conversion object.
|
|
@@ -155,13 +155,13 @@ archive_wstring_ensure(struct archive_ws
|
|
struct archive_string *
|
|
archive_strncat(struct archive_string *, const void *, size_t);
|
|
struct archive_wstring *
|
|
-archive_wstrncat(struct archive_wstring *, const wchar_t *, size_t);
|
|
+archive_wstrncat(struct archive_wstring *, const char *, size_t);
|
|
|
|
/* Append a C string to an archive_string, resizing as necessary. */
|
|
struct archive_string *
|
|
archive_strcat(struct archive_string *, const void *);
|
|
struct archive_wstring *
|
|
-archive_wstrcat(struct archive_wstring *, const wchar_t *);
|
|
+archive_wstrcat(struct archive_wstring *, const char *);
|
|
|
|
/* Copy a C string to an archive_string, resizing as necessary. */
|
|
#define archive_strcpy(as,p) \
|
|
@@ -225,16 +225,16 @@ void archive_mstring_clean(struct archiv
|
|
void archive_mstring_copy(struct archive_mstring *dest, struct archive_mstring *src);
|
|
int archive_mstring_get_mbs(struct archive *, struct archive_mstring *, const char **);
|
|
int archive_mstring_get_utf8(struct archive *, struct archive_mstring *, const char **);
|
|
-int archive_mstring_get_wcs(struct archive *, struct archive_mstring *, const wchar_t **);
|
|
+int archive_mstring_get_wcs(struct archive *, struct archive_mstring *, const char **);
|
|
int archive_mstring_get_mbs_l(struct archive_mstring *, const char **,
|
|
size_t *, struct archive_string_conv *);
|
|
int archive_mstring_copy_mbs(struct archive_mstring *, const char *mbs);
|
|
int archive_mstring_copy_mbs_len(struct archive_mstring *, const char *mbs,
|
|
size_t);
|
|
int archive_mstring_copy_utf8(struct archive_mstring *, const char *utf8);
|
|
-int archive_mstring_copy_wcs(struct archive_mstring *, const wchar_t *wcs);
|
|
+int archive_mstring_copy_wcs(struct archive_mstring *, const char *wcs);
|
|
int archive_mstring_copy_wcs_len(struct archive_mstring *,
|
|
- const wchar_t *wcs, size_t);
|
|
+ const char *wcs, size_t);
|
|
int archive_mstring_copy_mbs_len_l(struct archive_mstring *,
|
|
const char *mbs, size_t, struct archive_string_conv *);
|
|
int archive_mstring_update_utf8(struct archive *, struct archive_mstring *aes, const char *utf8);
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_string_sprintf.c b/Utilities/cmlibarchive/libarchive/archive_string_sprintf.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_string_sprintf.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_string_sprintf.c 2021-02-11 18:43:34.449195998 +0330
|
|
@@ -95,7 +95,7 @@ archive_string_vsprintf(struct archive_s
|
|
intmax_t s; /* Signed integer temp. */
|
|
uintmax_t u; /* Unsigned integer temp. */
|
|
const char *p, *p2;
|
|
- const wchar_t *pw;
|
|
+ const char *pw;
|
|
|
|
if (archive_string_ensure(as, 64) == NULL)
|
|
__archive_errx(1, "Out of memory");
|
|
@@ -145,9 +145,9 @@ archive_string_vsprintf(struct archive_s
|
|
case 's':
|
|
switch(long_flag) {
|
|
case 'l':
|
|
- pw = va_arg(ap, wchar_t *);
|
|
+ pw = va_arg(ap, char *);
|
|
if (pw == NULL)
|
|
- pw = L"(null)";
|
|
+ pw = "(null)";
|
|
if (archive_string_append_from_wcs(as, pw,
|
|
wcslen(pw)) != 0 && errno == ENOMEM)
|
|
__archive_errx(1, "Out of memory");
|
|
@@ -161,9 +161,9 @@ archive_string_vsprintf(struct archive_s
|
|
}
|
|
break;
|
|
case 'S':
|
|
- pw = va_arg(ap, wchar_t *);
|
|
+ pw = va_arg(ap, char *);
|
|
if (pw == NULL)
|
|
- pw = L"(null)";
|
|
+ pw = "(null)";
|
|
if (archive_string_append_from_wcs(as, pw,
|
|
wcslen(pw)) != 0 && errno == ENOMEM)
|
|
__archive_errx(1, "Out of memory");
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_util.c b/Utilities/cmlibarchive/libarchive/archive_util.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_util.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_util.c 2021-02-11 18:43:34.399195209 +0330
|
|
@@ -219,11 +219,11 @@ __archive_errx(int retvalue, const char
|
|
* are not secure.
|
|
*/
|
|
static int
|
|
-__archive_mktempx(const char *tmpdir, wchar_t *template)
|
|
+__archive_mktempx(const char *tmpdir, char *template)
|
|
{
|
|
- static const wchar_t prefix[] = L"libarchive_";
|
|
- static const wchar_t suffix[] = L"XXXXXXXXXX";
|
|
- static const wchar_t num[] = {
|
|
+ static const char prefix[] = "libarchive_";
|
|
+ static const char suffix[] = "XXXXXXXXXX";
|
|
+ static const char num[] = {
|
|
L'0', L'1', L'2', L'3', L'4', L'5', L'6', L'7',
|
|
L'8', L'9', L'A', L'B', L'C', L'D', L'E', L'F',
|
|
L'G', L'H', L'I', L'J', L'K', L'L', L'M', L'N',
|
|
@@ -235,9 +235,9 @@ __archive_mktempx(const char *tmpdir, wc
|
|
};
|
|
HCRYPTPROV hProv;
|
|
struct archive_wstring temp_name;
|
|
- wchar_t *ws;
|
|
+ char *ws;
|
|
DWORD attr;
|
|
- wchar_t *xp, *ep;
|
|
+ char *xp, *ep;
|
|
int fd;
|
|
|
|
hProv = (HCRYPTPROV)NULL;
|
|
@@ -250,14 +250,14 @@ __archive_mktempx(const char *tmpdir, wc
|
|
/* Get a temporary directory. */
|
|
if (tmpdir == NULL) {
|
|
size_t l;
|
|
- wchar_t *tmp;
|
|
+ char *tmp;
|
|
|
|
l = GetTempPathW(0, NULL);
|
|
if (l == 0) {
|
|
la_dosmaperr(GetLastError());
|
|
goto exit_tmpfile;
|
|
}
|
|
- tmp = malloc(l*sizeof(wchar_t));
|
|
+ tmp = malloc(l*sizeof(char));
|
|
if (tmp == NULL) {
|
|
errno = ENOMEM;
|
|
goto exit_tmpfile;
|
|
@@ -321,12 +321,12 @@ __archive_mktempx(const char *tmpdir, wc
|
|
}
|
|
|
|
for (;;) {
|
|
- wchar_t *p;
|
|
+ char *p;
|
|
HANDLE h;
|
|
|
|
/* Generate a random file name through CryptGenRandom(). */
|
|
p = xp;
|
|
- if (!CryptGenRandom(hProv, (DWORD)(ep - p)*sizeof(wchar_t),
|
|
+ if (!CryptGenRandom(hProv, (DWORD)(ep - p)*sizeof(char),
|
|
(BYTE*)p)) {
|
|
la_dosmaperr(GetLastError());
|
|
goto exit_tmpfile;
|
|
@@ -386,7 +386,7 @@ __archive_mktemp(const char *tmpdir)
|
|
}
|
|
|
|
int
|
|
-__archive_mkstemp(wchar_t *template)
|
|
+__archive_mkstemp(char *template)
|
|
{
|
|
return __archive_mktempx(NULL, template);
|
|
}
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_windows.c b/Utilities/cmlibarchive/libarchive/archive_windows.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_windows.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_windows.c 2021-02-11 18:43:34.419195524 +0330
|
|
@@ -119,15 +119,15 @@ getino(struct ustat *ub)
|
|
* characters.
|
|
* see also http://msdn.microsoft.com/en-us/library/aa365247.aspx
|
|
*/
|
|
-wchar_t *
|
|
+char *
|
|
__la_win_permissive_name(const char *name)
|
|
{
|
|
- wchar_t *wn;
|
|
- wchar_t *ws;
|
|
+ char *wn;
|
|
+ char *ws;
|
|
size_t ll;
|
|
|
|
ll = strlen(name);
|
|
- wn = malloc((ll + 1) * sizeof(wchar_t));
|
|
+ wn = malloc((ll + 1) * sizeof(char));
|
|
if (wn == NULL)
|
|
return (NULL);
|
|
ll = mbstowcs(wn, name, ll);
|
|
@@ -141,11 +141,11 @@ __la_win_permissive_name(const char *nam
|
|
return (ws);
|
|
}
|
|
|
|
-wchar_t *
|
|
-__la_win_permissive_name_w(const wchar_t *wname)
|
|
+char *
|
|
+__la_win_permissive_name_w(const char *wname)
|
|
{
|
|
- wchar_t *wn, *wnp;
|
|
- wchar_t *ws, *wsp;
|
|
+ char *wn, *wnp;
|
|
+ char *ws, *wsp;
|
|
DWORD l, len, slen;
|
|
int unc;
|
|
|
|
@@ -158,7 +158,7 @@ __la_win_permissive_name_w(const wchar_t
|
|
* have to add three to the size to allocate a sufficient buffer
|
|
* size for the full-pathname of the file name. */
|
|
l += 3;
|
|
- wnp = malloc(l * sizeof(wchar_t));
|
|
+ wnp = malloc(l * sizeof(char));
|
|
if (wnp == NULL)
|
|
return (NULL);
|
|
len = GetFullPathNameW(wname, l, wnp, NULL);
|
|
@@ -181,13 +181,13 @@ __la_win_permissive_name_w(const wchar_t
|
|
|
|
unc = 0;
|
|
if (wnp[0] == L'\\' && wnp[1] == L'\\' && wnp[2] != L'\\') {
|
|
- wchar_t *p = &wnp[2];
|
|
+ char *p = &wnp[2];
|
|
|
|
/* Skip server-name letters. */
|
|
while (*p != L'\\' && *p != L'\0')
|
|
++p;
|
|
if (*p == L'\\') {
|
|
- wchar_t *rp = ++p;
|
|
+ char *rp = ++p;
|
|
/* Skip share-name letters. */
|
|
while (*p != L'\\' && *p != L'\0')
|
|
++p;
|
|
@@ -202,18 +202,18 @@ __la_win_permissive_name_w(const wchar_t
|
|
}
|
|
|
|
slen = 4 + (unc * 4) + len + 1;
|
|
- ws = wsp = malloc(slen * sizeof(wchar_t));
|
|
+ ws = wsp = malloc(slen * sizeof(char));
|
|
if (ws == NULL) {
|
|
free(wn);
|
|
return (NULL);
|
|
}
|
|
/* prepend "\\?\" */
|
|
- wcsncpy(wsp, L"\\\\?\\", 4);
|
|
+ wcsncpy(wsp, "\\\\?\\", 4);
|
|
wsp += 4;
|
|
slen -= 4;
|
|
if (unc) {
|
|
/* append "UNC\" ---> "\\?\UNC\" */
|
|
- wcsncpy(wsp, L"UNC\\", 4);
|
|
+ wcsncpy(wsp, "UNC\\", 4);
|
|
wsp += 4;
|
|
slen -= 4;
|
|
}
|
|
@@ -232,7 +232,7 @@ la_CreateFile(const char *path, DWORD dw
|
|
LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition,
|
|
DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
|
|
{
|
|
- wchar_t *wpath;
|
|
+ char *wpath;
|
|
HANDLE handle;
|
|
|
|
handle = CreateFileA(path, dwDesiredAccess, dwShareMode,
|
|
@@ -291,7 +291,7 @@ int
|
|
__la_open(const char *path, int flags, ...)
|
|
{
|
|
va_list ap;
|
|
- wchar_t *ws;
|
|
+ char *ws;
|
|
int r, pmode;
|
|
DWORD attr;
|
|
|
|
@@ -683,9 +683,9 @@ __la_write(int fd, const void *buf, size
|
|
* Replace the Windows path separator '\' with '/'.
|
|
*/
|
|
static int
|
|
-replace_pathseparator(struct archive_wstring *ws, const wchar_t *wp)
|
|
+replace_pathseparator(struct archive_wstring *ws, const char *wp)
|
|
{
|
|
- wchar_t *w;
|
|
+ char *w;
|
|
size_t path_length;
|
|
|
|
if (wp == NULL)
|
|
@@ -707,7 +707,7 @@ static int
|
|
fix_pathseparator(struct archive_entry *entry)
|
|
{
|
|
struct archive_wstring ws;
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
int ret = ARCHIVE_OK;
|
|
|
|
archive_string_init(&ws);
|
|
@@ -749,7 +749,7 @@ struct archive_entry *
|
|
__la_win_entry_in_posix_pathseparator(struct archive_entry *entry)
|
|
{
|
|
struct archive_entry *entry_main;
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
int has_backslash = 0;
|
|
int ret;
|
|
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_windows.h b/Utilities/cmlibarchive/libarchive/archive_windows.h
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_windows.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_windows.h 2021-02-11 18:43:34.439195839 +0330
|
|
@@ -288,8 +288,8 @@ extern ssize_t __la_write(int fd, const
|
|
#define WIFEXITED(sts) ((sts & 0x100) == 0)
|
|
#define WEXITSTATUS(sts) (sts & 0x0FF)
|
|
|
|
-extern wchar_t *__la_win_permissive_name(const char *name);
|
|
-extern wchar_t *__la_win_permissive_name_w(const wchar_t *wname);
|
|
+extern char *__la_win_permissive_name(const char *name);
|
|
+extern char *__la_win_permissive_name_w(const char *wname);
|
|
extern void __la_dosmaperr(unsigned long e);
|
|
#define la_dosmaperr(e) __la_dosmaperr(e)
|
|
extern struct archive_entry *__la_win_entry_in_posix_pathseparator(
|
|
@@ -297,7 +297,7 @@ extern struct archive_entry *__la_win_en
|
|
|
|
#if defined(HAVE_WCRTOMB) && defined(__BORLANDC__)
|
|
typedef int mbstate_t;
|
|
-size_t wcrtomb(char *, wchar_t, mbstate_t *);
|
|
+size_t wcrtomb(char *, char, mbstate_t *);
|
|
#endif
|
|
|
|
#if defined(_MSC_VER) && _MSC_VER < 1300
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c 2021-02-12 14:39:59.857852509 +0330
|
|
@@ -2978,7 +2978,7 @@ check_symlinks(struct archive_write_disk
|
|
static void
|
|
cleanup_pathname_win(char *path)
|
|
{
|
|
- wchar_t wc;
|
|
+ char wc;
|
|
char *p;
|
|
size_t alen, l;
|
|
int mb, complete, utf8;
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c 2021-02-11 18:43:34.419195524 +0330
|
|
@@ -99,7 +99,7 @@ struct fixup_entry {
|
|
unsigned long ctime_nanos;
|
|
unsigned long fflags_set;
|
|
int fixup; /* bitmask of what needs fixing */
|
|
- wchar_t *name;
|
|
+ char *name;
|
|
};
|
|
|
|
/*
|
|
@@ -163,9 +163,9 @@ struct archive_write_disk {
|
|
|
|
/* Information about the object being restored right now. */
|
|
struct archive_entry *entry; /* Entry being extracted. */
|
|
- wchar_t *name; /* Name of entry, possibly edited. */
|
|
+ char *name; /* Name of entry, possibly edited. */
|
|
struct archive_wstring _name_data; /* backing store for 'name' */
|
|
- wchar_t *tmpname; /* Temporary name */
|
|
+ char *tmpname; /* Temporary name */
|
|
struct archive_wstring _tmpname_data; /* backing store for 'tmpname' */
|
|
/* Tasks remaining for this object. */
|
|
int todo;
|
|
@@ -207,31 +207,31 @@ struct archive_write_disk {
|
|
#define MINIMUM_DIR_MODE 0700
|
|
#define MAXIMUM_DIR_MODE 0775
|
|
|
|
-static int disk_unlink(const wchar_t *);
|
|
-static int disk_rmdir(const wchar_t *);
|
|
+static int disk_unlink(const char *);
|
|
+static int disk_rmdir(const char *);
|
|
static int check_symlinks(struct archive_write_disk *);
|
|
static int create_filesystem_object(struct archive_write_disk *);
|
|
static struct fixup_entry *current_fixup(struct archive_write_disk *,
|
|
- const wchar_t *pathname);
|
|
+ const char *pathname);
|
|
static int cleanup_pathname(struct archive_write_disk *);
|
|
-static int create_dir(struct archive_write_disk *, wchar_t *);
|
|
-static int create_parent_dir(struct archive_write_disk *, wchar_t *);
|
|
-static int la_chmod(const wchar_t *, mode_t);
|
|
+static int create_dir(struct archive_write_disk *, char *);
|
|
+static int create_parent_dir(struct archive_write_disk *, char *);
|
|
+static int la_chmod(const char *, mode_t);
|
|
static int la_mktemp(struct archive_write_disk *);
|
|
static int older(BY_HANDLE_FILE_INFORMATION *, struct archive_entry *);
|
|
static int permissive_name_w(struct archive_write_disk *);
|
|
static int restore_entry(struct archive_write_disk *);
|
|
static int set_acls(struct archive_write_disk *, HANDLE h,
|
|
- const wchar_t *, struct archive_acl *);
|
|
+ const char *, struct archive_acl *);
|
|
static int set_xattrs(struct archive_write_disk *);
|
|
static int clear_nochange_fflags(struct archive_write_disk *);
|
|
static int set_fflags(struct archive_write_disk *);
|
|
-static int set_fflags_platform(const wchar_t *, unsigned long,
|
|
+static int set_fflags_platform(const char *, unsigned long,
|
|
unsigned long);
|
|
static int set_ownership(struct archive_write_disk *);
|
|
static int set_mode(struct archive_write_disk *, int mode);
|
|
static int set_times(struct archive_write_disk *, HANDLE, int,
|
|
- const wchar_t *, time_t, long, time_t, long, time_t,
|
|
+ const char *, time_t, long, time_t, long, time_t,
|
|
long, time_t, long);
|
|
static int set_times_from_entry(struct archive_write_disk *);
|
|
static struct fixup_entry *sort_dir_list(struct fixup_entry *p);
|
|
@@ -261,7 +261,7 @@ static ssize_t _archive_write_disk_data_
|
|
((((int64_t)(bhfi)->nFileSizeHigh) << 32) + (bhfi)->nFileSizeLow)
|
|
|
|
static int
|
|
-file_information(struct archive_write_disk *a, wchar_t *path,
|
|
+file_information(struct archive_write_disk *a, char *path,
|
|
BY_HANDLE_FILE_INFORMATION *st, mode_t *mode, int sim_lstat)
|
|
{
|
|
HANDLE h;
|
|
@@ -273,7 +273,7 @@ file_information(struct archive_write_di
|
|
h = FindFirstFileW(path, &findData);
|
|
if (h == INVALID_HANDLE_VALUE &&
|
|
GetLastError() == ERROR_INVALID_NAME) {
|
|
- wchar_t *full;
|
|
+ char *full;
|
|
full = __la_win_permissive_name_w(path);
|
|
h = FindFirstFileW(full, &findData);
|
|
free(full);
|
|
@@ -296,7 +296,7 @@ file_information(struct archive_write_di
|
|
OPEN_EXISTING, flag, NULL);
|
|
if (h == INVALID_HANDLE_VALUE &&
|
|
GetLastError() == ERROR_INVALID_NAME) {
|
|
- wchar_t *full;
|
|
+ char *full;
|
|
full = __la_win_permissive_name_w(path);
|
|
h = CreateFileW(full, 0, 0, NULL,
|
|
OPEN_EXISTING, flag, NULL);
|
|
@@ -325,7 +325,7 @@ file_information(struct archive_write_di
|
|
else if (st->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
|
*mode |= S_IFDIR | S_IXUSR | S_IXGRP | S_IXOTH;
|
|
else {
|
|
- const wchar_t *p;
|
|
+ const char *p;
|
|
|
|
*mode |= S_IFREG;
|
|
p = wcsrchr(path, L'.');
|
|
@@ -364,8 +364,8 @@ file_information(struct archive_write_di
|
|
static int
|
|
permissive_name_w(struct archive_write_disk *a)
|
|
{
|
|
- wchar_t *wn, *wnp;
|
|
- wchar_t *ws, *wsp;
|
|
+ char *wn, *wnp;
|
|
+ char *ws, *wsp;
|
|
DWORD l;
|
|
|
|
wnp = a->name;
|
|
@@ -397,7 +397,7 @@ permissive_name_w(struct archive_write_d
|
|
archive_wstring_ensure(&(a->_name_data), 4 + wcslen(wn) + 1);
|
|
a->name = a->_name_data.s;
|
|
/* Prepend "\\?\" */
|
|
- archive_wstrncpy(&(a->_name_data), L"\\\\?\\", 4);
|
|
+ archive_wstrncpy(&(a->_name_data), "\\\\?\\", 4);
|
|
archive_wstrcat(&(a->_name_data), wn);
|
|
free(wn);
|
|
return (0);
|
|
@@ -408,13 +408,13 @@ permissive_name_w(struct archive_write_d
|
|
* like "\\<server-name>\<share-name>\file".
|
|
*/
|
|
if (wnp[0] == L'\\' && wnp[1] == L'\\' && wnp[2] != L'\\') {
|
|
- const wchar_t *p = &wnp[2];
|
|
+ const char *p = &wnp[2];
|
|
|
|
/* Skip server-name letters. */
|
|
while (*p != L'\\' && *p != L'\0')
|
|
++p;
|
|
if (*p == L'\\') {
|
|
- const wchar_t *rp = ++p;
|
|
+ const char *rp = ++p;
|
|
/* Skip share-name letters. */
|
|
while (*p != L'\\' && *p != L'\0')
|
|
++p;
|
|
@@ -429,7 +429,7 @@ permissive_name_w(struct archive_write_d
|
|
a->name = a->_name_data.s;
|
|
/* Prepend "\\?\UNC\" */
|
|
archive_wstrncpy(&(a->_name_data),
|
|
- L"\\\\?\\UNC\\", 8);
|
|
+ "\\\\?\\UNC\\", 8);
|
|
archive_wstrcat(&(a->_name_data), wn+2);
|
|
free(wn);
|
|
return (0);
|
|
@@ -444,7 +444,7 @@ permissive_name_w(struct archive_write_d
|
|
l = GetCurrentDirectoryW(0, NULL);
|
|
if (l == 0)
|
|
return (-1);
|
|
- ws = malloc(l * sizeof(wchar_t));
|
|
+ ws = malloc(l * sizeof(char));
|
|
l = GetCurrentDirectoryW(l, ws);
|
|
if (l == 0) {
|
|
free(ws);
|
|
@@ -463,7 +463,7 @@ permissive_name_w(struct archive_write_d
|
|
4 + 2 + wcslen(wn) + 1);
|
|
a->name = a->_name_data.s;
|
|
/* Prepend "\\?\" and drive name. */
|
|
- archive_wstrncpy(&(a->_name_data), L"\\\\?\\", 4);
|
|
+ archive_wstrncpy(&(a->_name_data), "\\\\?\\", 4);
|
|
archive_wstrncat(&(a->_name_data), wsp, 2);
|
|
archive_wstrcat(&(a->_name_data), wn);
|
|
free(wsp);
|
|
@@ -484,15 +484,15 @@ permissive_name_w(struct archive_write_d
|
|
}
|
|
else if (l > 2 && wsp[0] == L'\\' && wsp[1] == L'\\' && wsp[2] != L'\\')
|
|
{
|
|
- archive_wstrncpy(&(a->_name_data), L"\\\\?\\UNC\\", 8);
|
|
+ archive_wstrncpy(&(a->_name_data), "\\\\?\\UNC\\", 8);
|
|
archive_wstrncat(&(a->_name_data), wsp+2, l-2);
|
|
}
|
|
else
|
|
{
|
|
- archive_wstrncpy(&(a->_name_data), L"\\\\?\\", 4);
|
|
+ archive_wstrncpy(&(a->_name_data), "\\\\?\\", 4);
|
|
archive_wstrncat(&(a->_name_data), wsp, l);
|
|
}
|
|
- archive_wstrncat(&(a->_name_data), L"\\", 1);
|
|
+ archive_wstrncat(&(a->_name_data), "\\", 1);
|
|
archive_wstrcat(&(a->_name_data), wn);
|
|
a->name = a->_name_data.s;
|
|
free(wsp);
|
|
@@ -501,11 +501,11 @@ permissive_name_w(struct archive_write_d
|
|
}
|
|
|
|
static int
|
|
-la_chmod(const wchar_t *path, mode_t mode)
|
|
+la_chmod(const char *path, mode_t mode)
|
|
{
|
|
DWORD attr;
|
|
BOOL r;
|
|
- wchar_t *fullname;
|
|
+ char *fullname;
|
|
int ret = 0;
|
|
|
|
fullname = NULL;
|
|
@@ -545,7 +545,7 @@ la_mktemp(struct archive_write_disk *a)
|
|
|
|
archive_wstring_empty(&(a->_tmpname_data));
|
|
archive_wstrcpy(&(a->_tmpname_data), a->name);
|
|
- archive_wstrcat(&(a->_tmpname_data), L".XXXXXX");
|
|
+ archive_wstrcat(&(a->_tmpname_data), ".XXXXXX");
|
|
a->tmpname = a->_tmpname_data.s;
|
|
|
|
fd = __archive_mkstemp(a->tmpname);
|
|
@@ -576,7 +576,7 @@ la_GetFunctionKernel32(const char *name)
|
|
}
|
|
|
|
static int
|
|
-la_CreateHardLinkW(wchar_t *linkname, wchar_t *target)
|
|
+la_CreateHardLinkW(char *linkname, char *target)
|
|
{
|
|
static BOOLEAN (WINAPI *f)(LPWSTR, LPWSTR, LPSECURITY_ATTRIBUTES);
|
|
static int set;
|
|
@@ -598,12 +598,12 @@ la_CreateHardLinkW(wchar_t *linkname, wc
|
|
(name[1] == L'N' || name[1] == L'n') && \
|
|
(name[2] == L'C' || name[2] == L'c') && \
|
|
name[3] == L'\\')
|
|
- if (!wcsncmp(linkname,L"\\\\?\\", 4)) {
|
|
+ if (!wcsncmp(linkname,"\\\\?\\", 4)) {
|
|
linkname += 4;
|
|
if (IS_UNC(linkname))
|
|
linkname += 4;
|
|
}
|
|
- if (!wcsncmp(target,L"\\\\?\\", 4)) {
|
|
+ if (!wcsncmp(target,"\\\\?\\", 4)) {
|
|
target += 4;
|
|
if (IS_UNC(target))
|
|
target += 4;
|
|
@@ -621,11 +621,11 @@ la_CreateHardLinkW(wchar_t *linkname, wc
|
|
* the link target
|
|
*/
|
|
static int
|
|
-la_CreateSymbolicLinkW(const wchar_t *linkname, const wchar_t *target,
|
|
+la_CreateSymbolicLinkW(const char *linkname, const char *target,
|
|
int linktype) {
|
|
static BOOLEAN (WINAPI *f)(LPCWSTR, LPCWSTR, DWORD);
|
|
static int set;
|
|
- wchar_t *ttarget, *p;
|
|
+ char *ttarget, *p;
|
|
int len;
|
|
DWORD attrs = 0;
|
|
DWORD flags = 0;
|
|
@@ -648,7 +648,7 @@ la_CreateSymbolicLinkW(const wchar_t *li
|
|
* When writing path targets, we need to translate slashes
|
|
* to backslashes
|
|
*/
|
|
- ttarget = malloc((len + 1) * sizeof(wchar_t));
|
|
+ ttarget = malloc((len + 1) * sizeof(char));
|
|
if (ttarget == NULL)
|
|
return(0);
|
|
|
|
@@ -1381,9 +1381,9 @@ archive_write_disk_new(void)
|
|
}
|
|
|
|
static int
|
|
-disk_unlink(const wchar_t *path)
|
|
+disk_unlink(const char *path)
|
|
{
|
|
- wchar_t *fullname;
|
|
+ char *fullname;
|
|
int r;
|
|
|
|
r = _wunlink(path);
|
|
@@ -1396,9 +1396,9 @@ disk_unlink(const wchar_t *path)
|
|
}
|
|
|
|
static int
|
|
-disk_rmdir(const wchar_t *path)
|
|
+disk_rmdir(const char *path)
|
|
{
|
|
- wchar_t *fullname;
|
|
+ char *fullname;
|
|
int r;
|
|
|
|
r = _wrmdir(path);
|
|
@@ -1450,7 +1450,7 @@ restore_entry(struct archive_write_disk
|
|
|
|
if ((en == ENOTDIR || en == ENOENT)
|
|
&& !(a->flags & ARCHIVE_EXTRACT_NO_AUTODIR)) {
|
|
- wchar_t *full;
|
|
+ char *full;
|
|
/* If the parent dir doesn't exist, try creating it. */
|
|
create_parent_dir(a, a->name);
|
|
/* Now try to create the object again. */
|
|
@@ -1652,8 +1652,8 @@ static int
|
|
create_filesystem_object(struct archive_write_disk *a)
|
|
{
|
|
/* Create the entry. */
|
|
- const wchar_t *linkname;
|
|
- wchar_t *fullname;
|
|
+ const char *linkname;
|
|
+ char *fullname;
|
|
mode_t final_mode, mode;
|
|
int r;
|
|
DWORD attrs = 0;
|
|
@@ -1662,7 +1662,7 @@ create_filesystem_object(struct archive_
|
|
/* Since link(2) and symlink(2) don't handle modes, we're done here. */
|
|
linkname = archive_entry_hardlink_w(a->entry);
|
|
if (linkname != NULL) {
|
|
- wchar_t *linkfull, *namefull;
|
|
+ char *linkfull, *namefull;
|
|
|
|
linkfull = __la_win_permissive_name_w(linkname);
|
|
namefull = __la_win_permissive_name_w(a->name);
|
|
@@ -1736,7 +1736,7 @@ create_filesystem_object(struct archive_
|
|
return symlink(linkname, a->name) ? errno : 0;
|
|
#else
|
|
errno = 0;
|
|
- r = la_CreateSymbolicLinkW((const wchar_t *)a->name, linkname,
|
|
+ r = la_CreateSymbolicLinkW((const char *)a->name, linkname,
|
|
archive_entry_symlink_type(a->entry));
|
|
if (r == 0) {
|
|
if (errno == 0)
|
|
@@ -2006,7 +2006,7 @@ sort_dir_list(struct fixup_entry *p)
|
|
* structure rather than a simple list of names.
|
|
*/
|
|
static struct fixup_entry *
|
|
-new_fixup(struct archive_write_disk *a, const wchar_t *pathname)
|
|
+new_fixup(struct archive_write_disk *a, const char *pathname)
|
|
{
|
|
struct fixup_entry *fe;
|
|
|
|
@@ -2025,7 +2025,7 @@ new_fixup(struct archive_write_disk *a,
|
|
* Returns a fixup structure for the current entry.
|
|
*/
|
|
static struct fixup_entry *
|
|
-current_fixup(struct archive_write_disk *a, const wchar_t *pathname)
|
|
+current_fixup(struct archive_write_disk *a, const char *pathname)
|
|
{
|
|
if (a->current_fixup == NULL)
|
|
a->current_fixup = new_fixup(a, pathname);
|
|
@@ -2044,8 +2044,8 @@ current_fixup(struct archive_write_disk
|
|
static int
|
|
check_symlinks(struct archive_write_disk *a)
|
|
{
|
|
- wchar_t *pn, *p;
|
|
- wchar_t c;
|
|
+ char *pn, *p;
|
|
+ char c;
|
|
int r;
|
|
BY_HANDLE_FILE_INFORMATION st;
|
|
mode_t st_mode;
|
|
@@ -2153,7 +2153,7 @@ check_symlinks(struct archive_write_disk
|
|
}
|
|
|
|
static int
|
|
-guidword(wchar_t *p, int n)
|
|
+guidword(char *p, int n)
|
|
{
|
|
int i;
|
|
|
|
@@ -2177,8 +2177,8 @@ guidword(wchar_t *p, int n)
|
|
static int
|
|
cleanup_pathname(struct archive_write_disk *a)
|
|
{
|
|
- wchar_t *dest, *src, *p, *top;
|
|
- wchar_t separator = L'\0';
|
|
+ char *dest, *src, *p, *top;
|
|
+ char separator = L'\0';
|
|
|
|
p = a->name;
|
|
if (*p == L'\0') {
|
|
@@ -2349,9 +2349,9 @@ cleanup_pathname(struct archive_write_di
|
|
* is already in mutable storage.
|
|
*/
|
|
static int
|
|
-create_parent_dir(struct archive_write_disk *a, wchar_t *path)
|
|
+create_parent_dir(struct archive_write_disk *a, char *path)
|
|
{
|
|
- wchar_t *slash;
|
|
+ char *slash;
|
|
int r;
|
|
|
|
/* Remove tail element to obtain parent name. */
|
|
@@ -2372,11 +2372,11 @@ create_parent_dir(struct archive_write_d
|
|
* Assumes path is in mutable storage; path is unchanged on exit.
|
|
*/
|
|
static int
|
|
-create_dir(struct archive_write_disk *a, wchar_t *path)
|
|
+create_dir(struct archive_write_disk *a, char *path)
|
|
{
|
|
BY_HANDLE_FILE_INFORMATION st;
|
|
struct fixup_entry *le;
|
|
- wchar_t *slash, *base, *full;
|
|
+ char *slash, *base, *full;
|
|
mode_t mode_final, mode, st_mode;
|
|
int r;
|
|
|
|
@@ -2512,7 +2512,7 @@ set_ownership(struct archive_write_disk
|
|
|
|
static int
|
|
set_times(struct archive_write_disk *a,
|
|
- HANDLE h, int mode, const wchar_t *name,
|
|
+ HANDLE h, int mode, const char *name,
|
|
time_t atime, long atime_nanos,
|
|
time_t birthtime, long birthtime_nanos,
|
|
time_t mtime, long mtime_nanos,
|
|
@@ -2533,7 +2533,7 @@ set_times(struct archive_write_disk *a,
|
|
if (h != INVALID_HANDLE_VALUE) {
|
|
hw = NULL;
|
|
} else {
|
|
- wchar_t *ws;
|
|
+ char *ws;
|
|
|
|
if (S_ISLNK(mode))
|
|
return (ARCHIVE_OK);
|
|
@@ -2695,11 +2695,11 @@ set_mode(struct archive_write_disk *a, i
|
|
return (r);
|
|
}
|
|
|
|
-static int set_fflags_platform(const wchar_t *name, unsigned long fflags_set,
|
|
+static int set_fflags_platform(const char *name, unsigned long fflags_set,
|
|
unsigned long fflags_clear)
|
|
{
|
|
DWORD oldflags, newflags;
|
|
- wchar_t *fullname;
|
|
+ char *fullname;
|
|
|
|
const DWORD settable_flags =
|
|
FILE_ATTRIBUTE_ARCHIVE |
|
|
@@ -2750,7 +2750,7 @@ set_fflags(struct archive_write_disk *a)
|
|
|
|
/* Default empty function body to satisfy mainline code. */
|
|
static int
|
|
-set_acls(struct archive_write_disk *a, HANDLE h, const wchar_t *name,
|
|
+set_acls(struct archive_write_disk *a, HANDLE h, const char *name,
|
|
struct archive_acl *acl)
|
|
{
|
|
(void)a; /* UNUSED */
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_open_filename.c b/Utilities/cmlibarchive/libarchive/archive_write_open_filename.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_open_filename.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_open_filename.c 2021-02-11 18:43:34.379194894 +0330
|
|
@@ -83,7 +83,7 @@ archive_write_open_filename(struct archi
|
|
}
|
|
|
|
int
|
|
-archive_write_open_filename_w(struct archive *a, const wchar_t *filename)
|
|
+archive_write_open_filename_w(struct archive *a, const char *filename)
|
|
{
|
|
|
|
if (filename == NULL || filename[0] == L'\0')
|
|
@@ -119,7 +119,7 @@ open_filename(struct archive *a, int mbs
|
|
else
|
|
archive_set_error(a, ARCHIVE_ERRNO_MISC,
|
|
"Can't convert '%S' to MBS",
|
|
- (const wchar_t *)filename);
|
|
+ (const char *)filename);
|
|
return (ARCHIVE_FAILED);
|
|
}
|
|
mine->fd = -1;
|
|
@@ -134,9 +134,9 @@ file_open(struct archive *a, void *clien
|
|
struct write_file_data *mine;
|
|
struct stat st;
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
- wchar_t *fullpath;
|
|
+ char *fullpath;
|
|
#endif
|
|
- const wchar_t *wcs;
|
|
+ const char *wcs;
|
|
const char *mbs;
|
|
|
|
mine = (struct write_file_data *)client_data;
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c 2021-02-11 18:43:34.422528911 +0330
|
|
@@ -309,7 +309,7 @@ archive_write_gnutar_header(struct archi
|
|
* the client sees the change.
|
|
*/
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
|
|
wp = archive_entry_pathname_w(entry);
|
|
if (wp != NULL && wp[wcslen(wp) -1] != L'/') {
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c 2021-02-11 18:43:34.419195524 +0330
|
|
@@ -4692,7 +4692,7 @@ cleanup_backslash_1(char *p)
|
|
}
|
|
|
|
static void
|
|
-cleanup_backslash_2(wchar_t *p)
|
|
+cleanup_backslash_2(char *p)
|
|
{
|
|
|
|
/* Convert a path-separator from '\' to '/' */
|
|
@@ -4824,7 +4824,7 @@ isofile_gen_utility_names(struct archive
|
|
* Convert a path-separator from '\' to '/'
|
|
*/
|
|
if (cleanup_backslash_1(file->parentdir.s) != 0) {
|
|
- const wchar_t *wp = archive_entry_pathname_w(file->entry);
|
|
+ const char *wp = archive_entry_pathname_w(file->entry);
|
|
struct archive_wstring ws;
|
|
|
|
if (wp != NULL) {
|
|
@@ -4938,7 +4938,7 @@ isofile_gen_utility_names(struct archive
|
|
*/
|
|
if (archive_strlen(&(file->symlink)) > 0 &&
|
|
cleanup_backslash_1(file->symlink.s) != 0) {
|
|
- const wchar_t *wp =
|
|
+ const char *wp =
|
|
archive_entry_symlink_w(file->entry);
|
|
struct archive_wstring ws;
|
|
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c 2021-02-11 18:43:34.459196155 +0330
|
|
@@ -1702,7 +1702,7 @@ cleanup_backslash_1(char *p)
|
|
}
|
|
|
|
static void
|
|
-cleanup_backslash_2(wchar_t *p)
|
|
+cleanup_backslash_2(char *p)
|
|
{
|
|
|
|
/* Convert a path-separator from '\' to '/' */
|
|
@@ -1732,7 +1732,7 @@ mtree_entry_setup_filenames(struct archi
|
|
* Convert a path-separator from '\' to '/'
|
|
*/
|
|
if (cleanup_backslash_1(file->pathname.s) != 0) {
|
|
- const wchar_t *wp = archive_entry_pathname_w(entry);
|
|
+ const char *wp = archive_entry_pathname_w(entry);
|
|
struct archive_wstring ws;
|
|
|
|
if (wp != NULL) {
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c 2021-02-11 18:43:34.369194737 +0330
|
|
@@ -653,7 +653,7 @@ archive_write_pax_header(struct archive_
|
|
* entry so the client sees the change.
|
|
*/
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
|
|
wp = archive_entry_pathname_w(entry_original);
|
|
if (wp != NULL && wp[wcslen(wp) -1] != L'/') {
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c 2021-02-11 18:43:34.375861508 +0330
|
|
@@ -276,7 +276,7 @@ archive_write_ustar_header(struct archiv
|
|
* the client sees the change.
|
|
*/
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
|
|
wp = archive_entry_pathname_w(entry);
|
|
if (wp != NULL && wp[wcslen(wp) -1] != L'/') {
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c
|
|
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c 2021-02-11 18:43:34.372528122 +0330
|
|
@@ -254,7 +254,7 @@ archive_write_v7tar_header(struct archiv
|
|
* the client sees the change.
|
|
*/
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
- const wchar_t *wp;
|
|
+ const char *wp;
|
|
|
|
wp = archive_entry_pathname_w(entry);
|
|
if (wp != NULL && wp[wcslen(wp) -1] != L'/') {
|
|
diff -urp a/Utilities/cmlibarchive/libarchive/libarchive_changes.3 b/Utilities/cmlibarchive/libarchive/libarchive_changes.3
|
|
--- a/Utilities/cmlibarchive/libarchive/libarchive_changes.3 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibarchive/libarchive/libarchive_changes.3 2021-02-11 18:43:34.365861350 +0330
|
|
@@ -52,7 +52,7 @@ extends the write pipeline with another
|
|
Libarchive2 assumed that the local platform uses
|
|
.Tn Unicode
|
|
as the native
|
|
-.Tn wchar_t
|
|
+.Tn char
|
|
encoding, which is true on
|
|
.Tn Windows ,
|
|
modern
|
|
@@ -63,7 +63,7 @@ systems, since pax format requires
|
|
.Tn UTF-8
|
|
and libarchive 2 incorrectly
|
|
assumed that
|
|
-.Tn wchar_t
|
|
+.Tn char
|
|
strings can be easily converted to
|
|
.Tn UTF-8 .
|
|
.Pp
|
|
diff -urp a/Utilities/cmlibrhash/librhash/rhash.c b/Utilities/cmlibrhash/librhash/rhash.c
|
|
--- a/Utilities/cmlibrhash/librhash/rhash.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibrhash/librhash/rhash.c 2021-02-11 18:43:33.965855044 +0330
|
|
@@ -380,7 +380,7 @@ RHASH_API int rhash_file(unsigned hash_i
|
|
#ifdef _WIN32 /* windows only function */
|
|
#include <share.h>
|
|
|
|
-RHASH_API int rhash_wfile(unsigned hash_id, const wchar_t* filepath, unsigned char* result)
|
|
+RHASH_API int rhash_wfile(unsigned hash_id, const char* filepath, unsigned char* result)
|
|
{
|
|
FILE* fd;
|
|
rhash ctx;
|
|
@@ -392,7 +392,7 @@ RHASH_API int rhash_wfile(unsigned hash_
|
|
return -1;
|
|
}
|
|
|
|
- if ((fd = _wfsopen(filepath, L"rb", _SH_DENYWR)) == NULL) return -1;
|
|
+ if ((fd = _wfsopen(filepath, "rb", _SH_DENYWR)) == NULL) return -1;
|
|
|
|
if ((ctx = rhash_init(hash_id)) == NULL) {
|
|
fclose(fd);
|
|
diff -urp a/Utilities/cmlibrhash/librhash/rhash.h b/Utilities/cmlibrhash/librhash/rhash.h
|
|
--- a/Utilities/cmlibrhash/librhash/rhash.h 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibrhash/librhash/rhash.h 2021-02-11 18:43:33.965855044 +0330
|
|
@@ -164,7 +164,7 @@ RHASH_API int rhash_file(unsigned hash_i
|
|
* @param result buffer to receive hash value with the lowest requested id
|
|
* @return 0 on success, -1 on error, -1 on error and errno is set
|
|
*/
|
|
-RHASH_API int rhash_wfile(unsigned hash_id, const wchar_t* filepath, unsigned char* result);
|
|
+RHASH_API int rhash_wfile(unsigned hash_id, const char* filepath, unsigned char* result);
|
|
#endif
|
|
|
|
|
|
diff -urp a/Utilities/cmlibuv/src/win/core.c b/Utilities/cmlibuv/src/win/core.c
|
|
--- a/Utilities/cmlibuv/src/win/core.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibuv/src/win/core.c 2021-02-11 18:43:34.115857411 +0330
|
|
@@ -71,8 +71,8 @@ UV_THREAD_LOCAL int uv__crt_assert_enabl
|
|
|
|
|
|
#if !defined(__MINGW32__) || __MSVCRT_VERSION__ >= 0x800
|
|
-static void uv__crt_invalid_parameter_handler(const wchar_t* expression,
|
|
- const wchar_t* function, const wchar_t * file, unsigned int line,
|
|
+static void uv__crt_invalid_parameter_handler(const char* expression,
|
|
+ const char* function, const char * file, unsigned int line,
|
|
uintptr_t reserved) {
|
|
/* No-op. */
|
|
}
|
|
diff -urp a/Utilities/cmlibuv/src/win/fs.c b/Utilities/cmlibuv/src/win/fs.c
|
|
--- a/Utilities/cmlibuv/src/win/fs.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibuv/src/win/fs.c 2021-02-11 18:43:34.102523866 +0330
|
|
@@ -124,13 +124,13 @@
|
|
|
|
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
|
|
|
|
-const WCHAR JUNCTION_PREFIX[] = L"\\??\\";
|
|
+const WCHAR JUNCTION_PREFIX[] = "\\??\\";
|
|
const WCHAR JUNCTION_PREFIX_LEN = 4;
|
|
|
|
-const WCHAR LONG_PATH_PREFIX[] = L"\\\\?\\";
|
|
+const WCHAR LONG_PATH_PREFIX[] = "\\\\?\\";
|
|
const WCHAR LONG_PATH_PREFIX_LEN = 4;
|
|
|
|
-const WCHAR UNC_PATH_PREFIX[] = L"\\\\?\\UNC\\";
|
|
+const WCHAR UNC_PATH_PREFIX[] = "\\\\?\\UNC\\";
|
|
const WCHAR UNC_PATH_PREFIX_LEN = 8;
|
|
|
|
static int uv__file_symlink_usermode_flag = SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE;
|
|
@@ -1234,7 +1234,7 @@ typedef int (*uv__fs_mktemp_func)(uv_fs_
|
|
/* OpenBSD original: lib/libc/stdio/mktemp.c */
|
|
void fs__mktemp(uv_fs_t* req, uv__fs_mktemp_func func) {
|
|
static const WCHAR *tempchars =
|
|
- L"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
|
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
|
static const size_t num_chars = 62;
|
|
static const size_t num_x = 6;
|
|
WCHAR *cp, *ep;
|
|
@@ -1246,7 +1246,7 @@ void fs__mktemp(uv_fs_t* req, uv__fs_mkt
|
|
path = (char*)req->path;
|
|
len = wcslen(req->file.pathw);
|
|
ep = req->file.pathw + len;
|
|
- if (len < num_x || wcsncmp(ep - num_x, L"XXXXXX", num_x)) {
|
|
+ if (len < num_x || wcsncmp(ep - num_x, "XXXXXX", num_x)) {
|
|
SET_REQ_UV_ERROR(req, UV_EINVAL, ERROR_INVALID_PARAMETER);
|
|
goto clobber;
|
|
}
|
|
@@ -1592,11 +1592,11 @@ void fs__opendir(uv_fs_t* req) {
|
|
len = wcslen(pathw);
|
|
|
|
if (len == 0)
|
|
- fmt = L"./*";
|
|
+ fmt = "./*";
|
|
else if (IS_SLASH(pathw[len - 1]))
|
|
- fmt = L"%s*";
|
|
+ fmt = "%s*";
|
|
else
|
|
- fmt = L"%s\\*";
|
|
+ fmt = "%s\\*";
|
|
|
|
find_path = uv__malloc(sizeof(WCHAR) * (len + 4));
|
|
if (find_path == NULL) {
|
|
diff -urp a/Utilities/cmlibuv/src/win/fs-event.c b/Utilities/cmlibuv/src/win/fs-event.c
|
|
--- a/Utilities/cmlibuv/src/win/fs-event.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibuv/src/win/fs-event.c 2021-02-11 18:43:34.112524024 +0330
|
|
@@ -487,7 +487,7 @@ void uv_process_fs_event_req(uv_loop_t*
|
|
uv_fatal_error(ERROR_OUTOFMEMORY, "uv__malloc");
|
|
}
|
|
|
|
- _snwprintf(filenamew, size, L"%s\\%.*s", handle->dirw,
|
|
+ _snwprintf(filenamew, size, "%s\\%.*s", handle->dirw,
|
|
file_info->FileNameLength / (DWORD)sizeof(WCHAR),
|
|
file_info->FileName);
|
|
|
|
diff -urp a/Utilities/cmlibuv/src/win/getaddrinfo.c b/Utilities/cmlibuv/src/win/getaddrinfo.c
|
|
--- a/Utilities/cmlibuv/src/win/getaddrinfo.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibuv/src/win/getaddrinfo.c 2021-02-11 18:43:34.119190796 +0330
|
|
@@ -398,7 +398,7 @@ error:
|
|
|
|
int uv_if_indextoname(unsigned int ifindex, char* buffer, size_t* size) {
|
|
NET_LUID luid;
|
|
- wchar_t wname[NDIS_IF_MAX_STRING_SIZE + 1]; /* Add one for the NUL. */
|
|
+ char wname[NDIS_IF_MAX_STRING_SIZE + 1]; /* Add one for the NUL. */
|
|
DWORD bufsize;
|
|
int r;
|
|
|
|
diff -urp a/Utilities/cmlibuv/src/win/process.c b/Utilities/cmlibuv/src/win/process.c
|
|
--- a/Utilities/cmlibuv/src/win/process.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibuv/src/win/process.c 2021-02-11 18:43:34.109190639 +0330
|
|
@@ -43,7 +43,7 @@ typedef struct env_var {
|
|
const size_t len; /* including null or '=' */
|
|
} env_var_t;
|
|
|
|
-#define E_V(str) { L##str, L##str L"=", sizeof(str) }
|
|
+#define E_V(str) { L##str, L##str "=", sizeof(str) }
|
|
|
|
static const env_var_t required_vars[] = { /* keep me sorted */
|
|
E_V("HOMEDRIVE"),
|
|
@@ -203,7 +203,7 @@ static WCHAR* search_path_join_test(cons
|
|
result_pos += cwd_len;
|
|
|
|
/* Add a path separator if cwd didn't end with one */
|
|
- if (cwd_len && wcsrchr(L"\\/:", result_pos[-1]) == NULL) {
|
|
+ if (cwd_len && wcsrchr("\\/:", result_pos[-1]) == NULL) {
|
|
result_pos[0] = L'\\';
|
|
result_pos++;
|
|
}
|
|
@@ -213,7 +213,7 @@ static WCHAR* search_path_join_test(cons
|
|
result_pos += dir_len;
|
|
|
|
/* Add a separator if the dir didn't end with one */
|
|
- if (dir_len && wcsrchr(L"\\/:", result_pos[-1]) == NULL) {
|
|
+ if (dir_len && wcsrchr("\\/:", result_pos[-1]) == NULL) {
|
|
result_pos[0] = L'\\';
|
|
result_pos++;
|
|
}
|
|
@@ -265,7 +265,7 @@ static WCHAR* path_search_walk_ext(const
|
|
if (name_has_ext) {
|
|
result = search_path_join_test(dir, dir_len,
|
|
name, name_len,
|
|
- L"", 0,
|
|
+ "", 0,
|
|
cwd, cwd_len);
|
|
if (result != NULL) {
|
|
return result;
|
|
@@ -275,7 +275,7 @@ static WCHAR* path_search_walk_ext(const
|
|
/* Try .com extension */
|
|
result = search_path_join_test(dir, dir_len,
|
|
name, name_len,
|
|
- L"com", 3,
|
|
+ "com", 3,
|
|
cwd, cwd_len);
|
|
if (result != NULL) {
|
|
return result;
|
|
@@ -284,7 +284,7 @@ static WCHAR* path_search_walk_ext(const
|
|
/* Try .exe extension */
|
|
result = search_path_join_test(dir, dir_len,
|
|
name, name_len,
|
|
- L"exe", 3,
|
|
+ "exe", 3,
|
|
cwd, cwd_len);
|
|
if (result != NULL) {
|
|
return result;
|
|
@@ -386,7 +386,7 @@ static WCHAR* search_path(const WCHAR *f
|
|
dir_end = path;
|
|
|
|
/* The file is really only a name; look in cwd first, then scan path */
|
|
- result = path_search_walk_ext(L"", 0,
|
|
+ result = path_search_walk_ext("", 0,
|
|
file, file_len,
|
|
cwd, cwd_len,
|
|
name_has_ext);
|
|
@@ -463,14 +463,14 @@ WCHAR* quote_cmd_arg(const WCHAR *source
|
|
return target;
|
|
}
|
|
|
|
- if (NULL == wcspbrk(source, L" \t\"")) {
|
|
+ if (NULL == wcspbrk(source, " \t\"")) {
|
|
/* No quotation needed */
|
|
wcsncpy(target, source, len);
|
|
target += len;
|
|
return target;
|
|
}
|
|
|
|
- if (NULL == wcspbrk(source, L"\"\\")) {
|
|
+ if (NULL == wcspbrk(source, "\"\\")) {
|
|
/*
|
|
* No embedded double quotes or backlashes, so I can just wrap
|
|
* quote marks around the whole thing.
|
|
@@ -613,11 +613,11 @@ error:
|
|
}
|
|
|
|
|
|
-int env_strncmp(const wchar_t* a, int na, const wchar_t* b) {
|
|
- wchar_t* a_eq;
|
|
- wchar_t* b_eq;
|
|
- wchar_t* A;
|
|
- wchar_t* B;
|
|
+int env_strncmp(const char* a, int na, const char* b) {
|
|
+ char* a_eq;
|
|
+ char* b_eq;
|
|
+ char* A;
|
|
+ char* B;
|
|
int nb;
|
|
int r;
|
|
|
|
@@ -632,8 +632,8 @@ int env_strncmp(const wchar_t* a, int na
|
|
assert(b_eq);
|
|
nb = b_eq - b;
|
|
|
|
- A = alloca((na+1) * sizeof(wchar_t));
|
|
- B = alloca((nb+1) * sizeof(wchar_t));
|
|
+ A = alloca((na+1) * sizeof(char));
|
|
+ B = alloca((nb+1) * sizeof(char));
|
|
|
|
r = LCMapStringW(LOCALE_INVARIANT, LCMAP_UPPERCASE, a, na, A, na);
|
|
assert(r==na);
|
|
@@ -643,8 +643,8 @@ int env_strncmp(const wchar_t* a, int na
|
|
B[nb] = L'\0';
|
|
|
|
while (1) {
|
|
- wchar_t AA = *A++;
|
|
- wchar_t BB = *B++;
|
|
+ char AA = *A++;
|
|
+ char BB = *B++;
|
|
if (AA < BB) {
|
|
return -1;
|
|
} else if (AA > BB) {
|
|
@@ -657,8 +657,8 @@ int env_strncmp(const wchar_t* a, int na
|
|
|
|
|
|
static int qsort_wcscmp(const void *a, const void *b) {
|
|
- wchar_t* astr = *(wchar_t* const*)a;
|
|
- wchar_t* bstr = *(wchar_t* const*)b;
|
|
+ char* astr = *(char* const*)a;
|
|
+ char* bstr = *(char* const*)b;
|
|
return env_strncmp(astr, -1, bstr);
|
|
}
|
|
|
|
@@ -741,7 +741,7 @@ int make_program_env(char* env_block[],
|
|
assert(env_len == 0 || env_len == (size_t) (ptr - dst_copy));
|
|
|
|
/* sort our (UTF-16) copy */
|
|
- qsort(env_copy, env_block_count-1, sizeof(wchar_t*), qsort_wcscmp);
|
|
+ qsort(env_copy, env_block_count-1, sizeof(char*), qsort_wcscmp);
|
|
|
|
/* third pass: check for required variables */
|
|
for (ptr_copy = env_copy, i = 0; i < ARRAY_SIZE(required_vars); ) {
|
|
@@ -1024,7 +1024,7 @@ int uv_spawn(uv_loop_t* loop,
|
|
if (path == NULL) {
|
|
DWORD path_len, r;
|
|
|
|
- path_len = GetEnvironmentVariableW(L"PATH", NULL, 0);
|
|
+ path_len = GetEnvironmentVariableW("PATH", NULL, 0);
|
|
if (path_len == 0) {
|
|
err = GetLastError();
|
|
goto done;
|
|
@@ -1037,7 +1037,7 @@ int uv_spawn(uv_loop_t* loop,
|
|
}
|
|
path = alloc_path;
|
|
|
|
- r = GetEnvironmentVariableW(L"PATH", path, path_len);
|
|
+ r = GetEnvironmentVariableW("PATH", path, path_len);
|
|
if (r == 0 || r >= path_len) {
|
|
err = GetLastError();
|
|
goto done;
|
|
diff -urp a/Utilities/cmlibuv/src/win/util.c b/Utilities/cmlibuv/src/win/util.c
|
|
--- a/Utilities/cmlibuv/src/win/util.c 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/cmlibuv/src/win/util.c 2021-02-11 18:43:34.119190796 +0330
|
|
@@ -548,7 +548,7 @@ int uv_uptime(double* uptime) {
|
|
|
|
data_size = (DWORD) buffer_size;
|
|
result = RegQueryValueExW(HKEY_PERFORMANCE_DATA,
|
|
- L"2",
|
|
+ "2",
|
|
NULL,
|
|
NULL,
|
|
buffer,
|
|
@@ -580,7 +580,7 @@ int uv_uptime(double* uptime) {
|
|
|
|
data_block = (PERF_DATA_BLOCK*) buffer;
|
|
|
|
- if (wmemcmp(data_block->Signature, L"PERF", 4) != 0)
|
|
+ if (wmemcmp(data_block->Signature, "PERF", 4) != 0)
|
|
goto internalError;
|
|
|
|
if (data_size < data_block->HeaderLength + sizeof(*object_type))
|
|
@@ -686,7 +686,7 @@ int uv_cpu_info(uv_cpu_info_t** cpu_info
|
|
|
|
len = _snwprintf(key_name,
|
|
ARRAY_SIZE(key_name),
|
|
- L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%d",
|
|
+ "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%d",
|
|
i);
|
|
|
|
assert(len > 0 && len < ARRAY_SIZE(key_name));
|
|
@@ -701,7 +701,7 @@ int uv_cpu_info(uv_cpu_info_t** cpu_info
|
|
}
|
|
|
|
err = RegQueryValueExW(processor_key,
|
|
- L"~MHz",
|
|
+ "~MHz",
|
|
NULL,
|
|
NULL,
|
|
(BYTE*)&cpu_speed,
|
|
@@ -712,7 +712,7 @@ int uv_cpu_info(uv_cpu_info_t** cpu_info
|
|
}
|
|
|
|
err = RegQueryValueExW(processor_key,
|
|
- L"ProcessorNameString",
|
|
+ "ProcessorNameString",
|
|
NULL,
|
|
NULL,
|
|
(BYTE*)&cpu_brand,
|
|
@@ -1195,7 +1195,7 @@ int uv_os_homedir(char* buffer, size_t*
|
|
|
|
|
|
int uv_os_tmpdir(char* buffer, size_t* size) {
|
|
- wchar_t *path;
|
|
+ char *path;
|
|
DWORD bufsize;
|
|
size_t len;
|
|
|
|
@@ -1209,7 +1209,7 @@ int uv_os_tmpdir(char* buffer, size_t* s
|
|
}
|
|
/* Include space for terminating null char. */
|
|
len += 1;
|
|
- path = uv__malloc(len * sizeof(wchar_t));
|
|
+ path = uv__malloc(len * sizeof(char));
|
|
if (path == NULL) {
|
|
return UV_ENOMEM;
|
|
}
|
|
@@ -1368,8 +1368,8 @@ int uv__convert_utf8_to_utf16(const char
|
|
|
|
int uv__getpwuid_r(uv_passwd_t* pwd) {
|
|
HANDLE token;
|
|
- wchar_t username[UNLEN + 1];
|
|
- wchar_t *path;
|
|
+ char username[UNLEN + 1];
|
|
+ char *path;
|
|
DWORD bufsize;
|
|
int r;
|
|
|
|
@@ -1388,7 +1388,7 @@ int uv__getpwuid_r(uv_passwd_t* pwd) {
|
|
return uv_translate_sys_error(r);
|
|
}
|
|
|
|
- path = uv__malloc(bufsize * sizeof(wchar_t));
|
|
+ path = uv__malloc(bufsize * sizeof(char));
|
|
if (path == NULL) {
|
|
CloseHandle(token);
|
|
return UV_ENOMEM;
|
|
@@ -1445,8 +1445,8 @@ int uv_os_get_passwd(uv_passwd_t* pwd) {
|
|
|
|
|
|
int uv_os_environ(uv_env_item_t** envitems, int* count) {
|
|
- wchar_t* env;
|
|
- wchar_t* penv;
|
|
+ char* env;
|
|
+ char* penv;
|
|
int i, cnt;
|
|
uv_env_item_t* envitem;
|
|
|
|
@@ -1516,10 +1516,10 @@ fail:
|
|
|
|
|
|
int uv_os_getenv(const char* name, char* buffer, size_t* size) {
|
|
- wchar_t fastvar[512];
|
|
- wchar_t* var;
|
|
+ char fastvar[512];
|
|
+ char* var;
|
|
DWORD varlen;
|
|
- wchar_t* name_w;
|
|
+ char* name_w;
|
|
DWORD bufsize;
|
|
size_t len;
|
|
int r;
|
|
@@ -1611,8 +1611,8 @@ fail:
|
|
|
|
|
|
int uv_os_setenv(const char* name, const char* value) {
|
|
- wchar_t* name_w;
|
|
- wchar_t* value_w;
|
|
+ char* name_w;
|
|
+ char* value_w;
|
|
int r;
|
|
|
|
if (name == NULL || value == NULL)
|
|
@@ -1642,7 +1642,7 @@ int uv_os_setenv(const char* name, const
|
|
|
|
|
|
int uv_os_unsetenv(const char* name) {
|
|
- wchar_t* name_w;
|
|
+ char* name_w;
|
|
int r;
|
|
|
|
if (name == NULL)
|
|
@@ -1820,7 +1820,7 @@ int uv_os_uname(uv_utsname_t* buffer) {
|
|
/* Populate the version field. */
|
|
version_size = 0;
|
|
r = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
|
- L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
|
|
+ "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
|
|
0,
|
|
KEY_QUERY_VALUE,
|
|
®istry_key);
|
|
@@ -1829,7 +1829,7 @@ int uv_os_uname(uv_utsname_t* buffer) {
|
|
product_name_w_size = sizeof(product_name_w);
|
|
r = RegGetValueW(registry_key,
|
|
NULL,
|
|
- L"ProductName",
|
|
+ "ProductName",
|
|
RRF_RT_REG_SZ,
|
|
NULL,
|
|
(PVOID) product_name_w,
|
|
diff -urp a/Utilities/Release/WiX/CustomAction/detect_nsis_overwrite.cpp b/Utilities/Release/WiX/CustomAction/detect_nsis_overwrite.cpp
|
|
--- a/Utilities/Release/WiX/CustomAction/detect_nsis_overwrite.cpp 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/Release/WiX/CustomAction/detect_nsis_overwrite.cpp 2021-02-11 18:43:33.649183363 +0330
|
|
@@ -6,39 +6,39 @@
|
|
#include <msi.h>
|
|
#include <msiquery.h>
|
|
|
|
-std::wstring get_property(MSIHANDLE msi_handle, std::wstring const& name)
|
|
+std::string get_property(MSIHANDLE msi_handle, std::string const& name)
|
|
{
|
|
DWORD size = 0;
|
|
|
|
- WCHAR value_buffer[] = L"";
|
|
+ WCHAR value_buffer[] = "";
|
|
UINT status = MsiGetPropertyW(msi_handle, name.c_str(), value_buffer, &size);
|
|
|
|
if (status == ERROR_MORE_DATA) {
|
|
- std::vector<wchar_t> buffer(size + 1);
|
|
+ std::vector<char> buffer(size + 1);
|
|
MsiGetPropertyW(msi_handle, name.c_str(), &buffer[0], &size);
|
|
- return std::wstring(&buffer[0]);
|
|
+ return std::string(&buffer[0]);
|
|
} else {
|
|
- return std::wstring();
|
|
+ return std::string();
|
|
}
|
|
}
|
|
|
|
-void set_property(MSIHANDLE msi_handle, std::wstring const& name,
|
|
- std::wstring const& value)
|
|
+void set_property(MSIHANDLE msi_handle, std::string const& name,
|
|
+ std::string const& value)
|
|
{
|
|
MsiSetPropertyW(msi_handle, name.c_str(), value.c_str());
|
|
}
|
|
|
|
extern "C" UINT __stdcall DetectNsisOverwrite(MSIHANDLE msi_handle)
|
|
{
|
|
- std::wstring install_root = get_property(msi_handle, L"INSTALL_ROOT");
|
|
+ std::string install_root = get_property(msi_handle, "INSTALL_ROOT");
|
|
|
|
- std::wstring uninstall_exe = install_root + L"\\uninstall.exe";
|
|
+ std::string uninstall_exe = install_root + "\\uninstall.exe";
|
|
|
|
bool uninstall_exe_exists =
|
|
GetFileAttributesW(uninstall_exe.c_str()) != INVALID_FILE_ATTRIBUTES;
|
|
|
|
- set_property(msi_handle, L"CMAKE_NSIS_OVERWRITE_DETECTED",
|
|
- uninstall_exe_exists ? L"1" : L"0");
|
|
+ set_property(msi_handle, "CMAKE_NSIS_OVERWRITE_DETECTED",
|
|
+ uninstall_exe_exists ? "1" : "0");
|
|
|
|
return ERROR_SUCCESS;
|
|
}
|
|
diff -urp a/Utilities/std/cm/filesystem b/Utilities/std/cm/filesystem
|
|
--- a/Utilities/std/cm/filesystem 2021-01-28 18:58:45.000000000 +0330
|
|
+++ b/Utilities/std/cm/filesystem 2021-02-12 14:39:55.154859796 +0330
|
|
@@ -98,7 +98,7 @@ class unicode<Char, typename std::enable
|
|
{
|
|
public:
|
|
// UTF32 -> UTF8
|
|
- static std::string to_utf8(const std::wstring& str)
|
|
+ static std::string to_utf8(const std::string& str)
|
|
{
|
|
std::string result;
|
|
for (auto c : str) {
|
|
@@ -114,9 +114,9 @@ public:
|
|
}
|
|
|
|
// UTF8 -> UTF32
|
|
- static std::wstring from_utf8(const std::string& str)
|
|
+ static std::string from_utf8(const std::string& str)
|
|
{
|
|
- std::wstring result;
|
|
+ std::string result;
|
|
result.reserve(str.length());
|
|
auto iter = str.begin();
|
|
utf8_state state = s_start;
|
|
@@ -124,29 +124,29 @@ public:
|
|
while (iter < str.end()) {
|
|
if ((state = decode(state, static_cast<std::uint8_t>(*iter++),
|
|
codepoint)) == s_start) {
|
|
- result += static_cast<std::wstring::value_type>(codepoint);
|
|
+ result += static_cast<std::string::value_type>(codepoint);
|
|
codepoint = 0;
|
|
} else if (state == s_reject) {
|
|
- result += static_cast<std::wstring::value_type>(0xfffd);
|
|
+ result += static_cast<std::string::value_type>(0xfffd);
|
|
state = s_start;
|
|
codepoint = 0;
|
|
}
|
|
}
|
|
if (state) {
|
|
- result += static_cast<std::wstring::value_type>(0xfffd);
|
|
+ result += static_cast<std::string::value_type>(0xfffd);
|
|
}
|
|
return result;
|
|
}
|
|
- static std::wstring from_utf8(char c)
|
|
+ static std::string from_utf8(char c)
|
|
{
|
|
- std::wstring result;
|
|
+ std::string result;
|
|
utf8_state state = s_start;
|
|
std::uint32_t codepoint = 0;
|
|
if ((state = decode(state, static_cast<std::uint8_t>(c), codepoint)) ==
|
|
s_start) {
|
|
- result += static_cast<std::wstring::value_type>(codepoint);
|
|
+ result += static_cast<std::string::value_type>(codepoint);
|
|
} else {
|
|
- result += static_cast<std::wstring::value_type>(0xfffd);
|
|
+ result += static_cast<std::string::value_type>(0xfffd);
|
|
}
|
|
|
|
return result;
|
|
@@ -159,7 +159,7 @@ class unicode<Char, typename std::enable
|
|
{
|
|
public:
|
|
// UTF16 -> UTF8
|
|
- static std::string to_utf8(const std::wstring& str)
|
|
+ static std::string to_utf8(const std::string& str)
|
|
{
|
|
std::string result;
|
|
for (auto iter = str.begin(); iter != str.end(); ++iter) {
|
|
@@ -193,9 +193,9 @@ public:
|
|
}
|
|
|
|
// UTF8 -> UTF16
|
|
- static std::wstring from_utf8(const std::string& str)
|
|
+ static std::string from_utf8(const std::string& str)
|
|
{
|
|
- std::wstring result;
|
|
+ std::string result;
|
|
result.reserve(str.length());
|
|
auto iter = str.begin();
|
|
utf8_state state = s_start;
|
|
@@ -204,95 +204,91 @@ public:
|
|
if ((state = decode(state, static_cast<std::uint8_t>(*iter++),
|
|
codepoint)) == s_start) {
|
|
if (codepoint <= 0xffff) {
|
|
- result += static_cast<std::wstring::value_type>(codepoint);
|
|
+ result += static_cast<std::string::value_type>(codepoint);
|
|
} else {
|
|
codepoint -= 0x10000;
|
|
result +=
|
|
- static_cast<std::wstring::value_type>((codepoint >> 10) + 0xd800);
|
|
- result += static_cast<std::wstring::value_type>((codepoint & 0x3ff) +
|
|
+ static_cast<std::string::value_type>((codepoint >> 10) + 0xd800);
|
|
+ result += static_cast<std::string::value_type>((codepoint & 0x3ff) +
|
|
0xdc00);
|
|
}
|
|
codepoint = 0;
|
|
} else if (state == s_reject) {
|
|
- result += static_cast<std::wstring::value_type>(0xfffd);
|
|
+ result += static_cast<std::string::value_type>(0xfffd);
|
|
state = s_start;
|
|
codepoint = 0;
|
|
}
|
|
}
|
|
if (state) {
|
|
- result += static_cast<std::wstring::value_type>(0xfffd);
|
|
+ result += static_cast<std::string::value_type>(0xfffd);
|
|
}
|
|
return result;
|
|
}
|
|
- static std::wstring from_utf8(char c)
|
|
+ static std::string from_utf8(char c)
|
|
{
|
|
- std::wstring result;
|
|
+ std::string result;
|
|
utf8_state state = s_start;
|
|
std::uint32_t codepoint = 0;
|
|
if ((state = decode(state, static_cast<std::uint8_t>(c), codepoint)) ==
|
|
s_start) {
|
|
if (codepoint <= 0xffff) {
|
|
- result += static_cast<std::wstring::value_type>(codepoint);
|
|
+ result += static_cast<std::string::value_type>(codepoint);
|
|
} else {
|
|
codepoint -= 0x10000;
|
|
result +=
|
|
- static_cast<std::wstring::value_type>((codepoint >> 10) + 0xd800);
|
|
+ static_cast<std::string::value_type>((codepoint >> 10) + 0xd800);
|
|
result +=
|
|
- static_cast<std::wstring::value_type>((codepoint & 0x3ff) + 0xdc00);
|
|
+ static_cast<std::string::value_type>((codepoint & 0x3ff) + 0xdc00);
|
|
}
|
|
} else {
|
|
- result += static_cast<std::wstring::value_type>(0xfffd);
|
|
+ result += static_cast<std::string::value_type>(0xfffd);
|
|
}
|
|
return result;
|
|
}
|
|
};
|
|
|
|
-template <typename In, typename Out>
|
|
-class unicode_converter;
|
|
-
|
|
-template <>
|
|
-class unicode_converter<char, wchar_t>
|
|
+template <typename Char>
|
|
+class unicode<Char, typename std::enable_if<(sizeof(Char) == 1)>::type>
|
|
+ : public unicode_helper
|
|
{
|
|
public:
|
|
- std::wstring operator()(const std::string& in)
|
|
+ // UTF8 -> UTF8
|
|
+ static std::string to_utf8(const std::string& str)
|
|
{
|
|
- return unicode<wchar_t>::from_utf8(in);
|
|
+ return str;
|
|
}
|
|
- std::wstring operator()(const char* in)
|
|
+ static std::string to_utf8(Char c)
|
|
{
|
|
- return unicode<wchar_t>::from_utf8(in);
|
|
+ return c;
|
|
}
|
|
- std::wstring operator()(char in) { return unicode<wchar_t>::from_utf8(in); }
|
|
-};
|
|
-template <>
|
|
-class unicode_converter<wchar_t, char>
|
|
-{
|
|
-public:
|
|
- std::string operator()(const std::wstring& in)
|
|
+
|
|
+ // UTF8 -> UTF8
|
|
+ static std::string from_utf8(const std::string& str)
|
|
{
|
|
- return unicode<wchar_t>::to_utf8(in);
|
|
+ return str;
|
|
}
|
|
- std::string operator()(const wchar_t* in)
|
|
+ static std::string from_utf8(char c)
|
|
{
|
|
- return unicode<wchar_t>::to_utf8(in);
|
|
+ return std::string(1, c);
|
|
}
|
|
- std::string operator()(wchar_t in) { return unicode<wchar_t>::to_utf8(in); }
|
|
};
|
|
+
|
|
+template <typename In, typename Out>
|
|
+class unicode_converter;
|
|
+
|
|
template <>
|
|
class unicode_converter<char, char>
|
|
{
|
|
public:
|
|
- std::string operator()(const std::string& in) { return in; }
|
|
- std::string operator()(const char* in) { return std::string(in); }
|
|
- std::string operator()(char in) { return std::string(1, in); }
|
|
-};
|
|
-template <>
|
|
-class unicode_converter<wchar_t, wchar_t>
|
|
-{
|
|
-public:
|
|
- std::wstring operator()(const std::wstring& in) { return in; }
|
|
- std::wstring operator()(const wchar_t* in) { return std::wstring(in); }
|
|
- std::wstring operator()(wchar_t in) { return std::wstring(1, in); }
|
|
+ std::string operator()(const std::string& in)
|
|
+ {
|
|
+ return unicode<char>::from_utf8(in);
|
|
+ }
|
|
+ std::string operator()(const char* in)
|
|
+ {
|
|
+ return unicode<char>::from_utf8(in);
|
|
+ }
|
|
+ std::string operator()(char in) { return unicode<char>::from_utf8(in); }
|
|
};
|
|
|
|
template <typename In>
|
|
@@ -344,50 +340,6 @@ struct string_converter<char>
|
|
return std::basic_string<Char>(unicode_converter<char, Char>()(in));
|
|
}
|
|
};
|
|
-template <>
|
|
-struct string_converter<wchar_t>
|
|
-{
|
|
- // some compilers, like gcc 4.8 does not implement the following C++11
|
|
- // signature:
|
|
- // std::string::string(const string&, const Allocator&)
|
|
- // As workaround, use char* pointer.
|
|
- template <typename Char, typename Traits, typename Alloc>
|
|
- static std::basic_string<Char, Traits, Alloc> to(const std::wstring& in,
|
|
- const Alloc& a)
|
|
- {
|
|
- return std::basic_string<Char, Traits, Alloc>(
|
|
- unicode_converter<wchar_t, Char>()(in).c_str(), a);
|
|
- }
|
|
- template <typename Char, typename Traits, typename Alloc>
|
|
- static std::basic_string<Char, Traits, Alloc> to(const wchar_t* in,
|
|
- const Alloc& a)
|
|
- {
|
|
- return std::basic_string<Char, Traits, Alloc>(
|
|
- unicode_converter<wchar_t, Char>()(in).c_str(), a);
|
|
- }
|
|
- template <typename Char, typename Traits, typename Alloc>
|
|
- static std::basic_string<Char, Traits, Alloc> to(wchar_t in, const Alloc& a)
|
|
- {
|
|
- return std::basic_string<Char, Traits, Alloc>(
|
|
- unicode_converter<wchar_t, Char>()(in).c_str(), a);
|
|
- }
|
|
-
|
|
- template <typename Char>
|
|
- static std::basic_string<Char> to(const std::wstring& in)
|
|
- {
|
|
- return std::basic_string<Char>(unicode_converter<wchar_t, Char>()(in));
|
|
- }
|
|
- template <typename Char>
|
|
- static std::basic_string<Char> to(const wchar_t* in)
|
|
- {
|
|
- return std::basic_string<Char>(unicode_converter<wchar_t, Char>()(in));
|
|
- }
|
|
- template <typename Char>
|
|
- static std::basic_string<Char> to(wchar_t in)
|
|
- {
|
|
- return std::basic_string<Char>(unicode_converter<wchar_t, Char>()(in));
|
|
- }
|
|
-};
|
|
|
|
template <typename T, typename = void>
|
|
struct source_traits
|
|
@@ -470,54 +422,6 @@ struct source_converter<char, char>
|
|
static void set_source(std::string& p, std::string&& s) { p = std::move(s); }
|
|
};
|
|
|
|
-template <>
|
|
-struct source_converter<wchar_t, char>
|
|
-{
|
|
- template <typename Iterator>
|
|
- static void append_range(std::string& p, Iterator b, Iterator e)
|
|
- {
|
|
- if (b == e) {
|
|
- return;
|
|
- }
|
|
-
|
|
- std::wstring tmp(b, e);
|
|
- std::string dest = string_converter<wchar_t>::to<char>(tmp);
|
|
- p.append(dest.begin(), dest.end());
|
|
- }
|
|
- template <typename Iterator>
|
|
- static void append_range(std::string& p, Iterator b)
|
|
- {
|
|
- wchar_t e = '\0';
|
|
-
|
|
- if (*b == e) {
|
|
- return;
|
|
- }
|
|
- std::wstring tmp;
|
|
- for (; *b != e; ++b) {
|
|
- tmp.push_back(*b);
|
|
- }
|
|
-
|
|
- std::string dest = string_converter<wchar_t>::to<char>(tmp);
|
|
- p.append(dest.begin(), dest.end());
|
|
- }
|
|
-
|
|
- template <typename Traits, typename Alloc>
|
|
- static void append_source(std::string& p,
|
|
- const std::basic_string<wchar_t, Traits, Alloc>& s)
|
|
- {
|
|
- append_range(p, s.begin(), s.end());
|
|
- }
|
|
- template <typename Source>
|
|
- static void append_source(std::string& p, const Source& s)
|
|
- {
|
|
- append_range(p, s);
|
|
- }
|
|
-
|
|
- static void set_source(std::string& p, std::wstring&& s)
|
|
- {
|
|
- p = string_converter<wchar_t>::to<char>(s);
|
|
- }
|
|
-};
|
|
|
|
template <typename T>
|
|
struct is_pathable_string : std::false_type
|
|
@@ -528,11 +432,6 @@ struct is_pathable_string<std::basic_str
|
|
: std::true_type
|
|
{
|
|
};
|
|
-template <typename Traits, typename Alloc>
|
|
-struct is_pathable_string<std::basic_string<wchar_t, Traits, Alloc>>
|
|
- : std::true_type
|
|
-{
|
|
-};
|
|
template <>
|
|
struct is_pathable_string<cm::string_view> : std::true_type
|
|
{
|
|
@@ -547,10 +446,10 @@ struct is_pathable_char_array<
|
|
T,
|
|
cm::enable_if_t<
|
|
std::is_same<char*, typename std::decay<T>::type>::value ||
|
|
- std::is_same<wchar_t*, typename std::decay<T>::type>::value,
|
|
+ std::is_same<char*, typename std::decay<T>::type>::value,
|
|
void>>
|
|
: bool_constant<std::is_same<char*, typename std::decay<T>::type>::value ||
|
|
- std::is_same<wchar_t*, typename std::decay<T>::type>::value>
|
|
+ std::is_same<char*, typename std::decay<T>::type>::value>
|
|
{
|
|
};
|
|
|
|
@@ -566,7 +465,7 @@ struct is_pathable_iterator<
|
|
(std::is_same<char,
|
|
typename std::iterator_traits<
|
|
typename std::decay<T>::type>::value_type>::value ||
|
|
- std::is_same<wchar_t,
|
|
+ std::is_same<char,
|
|
typename std::iterator_traits<
|
|
typename std::decay<T>::type>::value_type>::value),
|
|
void>>
|
|
@@ -574,7 +473,7 @@ struct is_pathable_iterator<
|
|
std::is_same<char,
|
|
typename std::iterator_traits<
|
|
typename std::decay<T>::type>::value_type>::value ||
|
|
- std::is_same<wchar_t,
|
|
+ std::is_same<char,
|
|
typename std::iterator_traits<
|
|
typename std::decay<T>::type>::value_type>::value>
|
|
{
|
|
@@ -616,7 +515,7 @@ class path
|
|
|
|
public:
|
|
# if defined(_WIN32) && !defined(__CYGWIN__)
|
|
- using value_type = wchar_t;
|
|
+ using value_type = char;
|
|
# else
|
|
using value_type = char;
|
|
# endif
|
|
@@ -860,8 +759,8 @@ public:
|
|
typename Alloc = std::allocator<Char>,
|
|
cm::enable_if_t<(std::is_same<Char, char>::value &&
|
|
std::is_same<Traits, std::char_traits<char>>::value) ||
|
|
- (std::is_same<Char, wchar_t>::value &&
|
|
- std::is_same<Traits, std::char_traits<wchar_t>>::value),
|
|
+ (std::is_same<Char, char>::value &&
|
|
+ std::is_same<Traits, std::char_traits<char>>::value),
|
|
int> = 1>
|
|
std::basic_string<Char, Traits, Alloc> string(const Alloc& a = Alloc()) const
|
|
{
|
|
@@ -870,11 +769,11 @@ public:
|
|
this->path_, a);
|
|
}
|
|
const std::string string() const { return this->path_; }
|
|
- std::wstring wstring() const
|
|
+ std::string wstring() const
|
|
{
|
|
std::string out = this->string();
|
|
return internals::string_converter<path_type::value_type>::to<
|
|
- std::wstring::value_type>(out);
|
|
+ std::string::value_type>(out);
|
|
}
|
|
|
|
template <
|
|
@@ -882,8 +781,8 @@ public:
|
|
typename Alloc = std::allocator<Char>,
|
|
cm::enable_if_t<(std::is_same<Char, char>::value &&
|
|
std::is_same<Traits, std::char_traits<char>>::value) ||
|
|
- (std::is_same<Char, wchar_t>::value &&
|
|
- std::is_same<Traits, std::char_traits<wchar_t>>::value),
|
|
+ (std::is_same<Char, char>::value &&
|
|
+ std::is_same<Traits, std::char_traits<char>>::value),
|
|
int> = 1>
|
|
std::basic_string<Char, Traits, Alloc> generic_string(
|
|
const Alloc& a = Alloc()) const
|
|
@@ -893,11 +792,11 @@ public:
|
|
this->get_generic(), a);
|
|
}
|
|
std::string generic_string() const { return this->get_generic(); }
|
|
- std::wstring generic_wstring() const
|
|
+ std::string generic_wstring() const
|
|
{
|
|
auto dest = this->generic_string();
|
|
return internals::string_converter<path_type::value_type>::to<
|
|
- std::wstring::value_type>(dest);
|
|
+ std::string::value_type>(dest);
|
|
}
|
|
|
|
// Compare
|