diff --git a/Common/DocxFormat/Source/SystemUtility/FileSystem/DirectoryPosix.cpp b/Common/DocxFormat/Source/SystemUtility/FileSystem/DirectoryPosix.cpp index d53ad9c121..2732ec1c8f 100644 --- a/Common/DocxFormat/Source/SystemUtility/FileSystem/DirectoryPosix.cpp +++ b/Common/DocxFormat/Source/SystemUtility/FileSystem/DirectoryPosix.cpp @@ -119,7 +119,24 @@ namespace FileSystem { std::string sRes = pcRes; return stringUtf8ToWString (sRes); } + std::wstring Directory::CreateTempFileWithUniqueName (const std::wstring & strFolderPathRoot, std::wstring Prefix) + { + char pcRes[MAX_PATH]; + if (NULL == pcRes) return _T(""); + Prefix = strFolderPathRoot + FILE_SEPARATOR_STR + Prefix + _T("_XXXXXX"); + + std::wstring w_str = Prefix.c_str(); + std::string a_str = stringWstingToUtf8String(w_str); + + memcpy(pcRes, a_str.c_str(), a_str.length()); + pcRes[a_str.length()] = '\0'; + + int res = mkstemp( pcRes); + + std::string sRes = pcRes; + return stringUtf8ToWString (sRes); + } bool Directory::CreateDirectory (String strFolderPathRoot, String strFolderName) { String strFolder = strFolderPathRoot; diff --git a/XlsxSerializerCom/Reader/ChartFromToBinary.cpp b/XlsxSerializerCom/Reader/ChartFromToBinary.cpp index 7f76a6f47e..5cc2668096 100644 --- a/XlsxSerializerCom/Reader/ChartFromToBinary.cpp +++ b/XlsxSerializerCom/Reader/ChartFromToBinary.cpp @@ -5586,7 +5586,7 @@ namespace BinXlsxRW{ CT_RotX* poVal = static_cast(poResult); if(c_oserct_rotxVAL == type) { - char* pNewElem = new char; + signed char* pNewElem = new signed char; *pNewElem = m_oBufferedStream.GetUChar(); poVal->m_val = pNewElem; }