Commit c0b0338b authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

fix RtfFile linux build (rtf->docx testing), x2t linux build (new wmf/emf conversion )

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62177 954022d7-b5bf-4e40-9824-e11837661b57
parent d534dfc4
...@@ -19,7 +19,12 @@ INCLUDEPATH += \ ...@@ -19,7 +19,12 @@ INCLUDEPATH += \
SOURCES += ../ASCSVGWriter.cpp \ SOURCES += ../ASCSVGWriter.cpp \
../CASCSVGRenderer.cpp \ ../CASCSVGRenderer.cpp \
../CMetafile.cpp \ ../CMetafile.cpp \
../CASCImage.cpp ../CASCImage.cpp \
../../DesktopEditor/raster/Metafile/Common.cpp \
../../DesktopEditor/raster/Metafile/MetaFile.cpp \
../../DesktopEditor/raster/Metafile/Emf/EmfObjects.cpp \
../../DesktopEditor/raster/Metafile/Emf/EmfPath.cpp \
../../DesktopEditor/raster/Metafile/Emf/EmfPlayer.cpp
HEADERS += ../ASCSVGWriter.h \ HEADERS += ../ASCSVGWriter.h \
../CASCImage.h \ ../CASCImage.h \
...@@ -33,22 +38,30 @@ HEADERS += ../ASCSVGWriter.h \ ...@@ -33,22 +38,30 @@ HEADERS += ../ASCSVGWriter.h \
../Writer/SVGWriter.h \ ../Writer/SVGWriter.h \
../Writer/VectorGraphicsWriter2.h \ ../Writer/VectorGraphicsWriter2.h \
../Writer/VMLWriter.h \ ../Writer/VMLWriter.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/RendererOutput.h \ unix { \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfCharsets.h \ ../../DesktopEditor/raster/Metafile/Common.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfCodePage932.h \ ../../DesktopEditor/raster/Metafile/MetaFile.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfCodePage936.h \ ../../DesktopEditor/raster/Metafile/Emf/EmfFile.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfCodePage949.h \ ../../DesktopEditor/raster/Metafile/Emf/EmfObjects.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfCodePage950.h \ ../../DesktopEditor/raster/Metafile/Emf/EmfOutputDevice.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfCodePage1361.h \ ../../DesktopEditor/raster/Metafile/Emf/EmfPath.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfColor.h \ ../../DesktopEditor/raster/Metafile/Emf/EmfPlayer.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfFile.h \ ../../DesktopEditor/raster/Metafile/Emf/EmfTypes.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfMemory.h \ ../../DesktopEditor/raster/Metafile/Emf/RendererOutput.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfOutputDevice.h \ ../../DesktopEditor/raster/Metafile/Wmf/RendererOutput.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfRegion.h \ ../../DesktopEditor/raster/Metafile/Wmf/WmfCharsets.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfTypes.h \ ../../DesktopEditor/raster/Metafile/Wmf/WmfCodePage932.h \
../../ASCImageStudio3/ASCGraphics/Objects/Image/Wmf/WmfUtils.h ../../DesktopEditor/raster/Metafile/Wmf/WmfCodePage936.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfCodePage949.h \
unix { ../../DesktopEditor/raster/Metafile/Wmf/WmfCodePage950.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfCodePage1361.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfColor.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfFile.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfMemory.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfOutputDevice.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfRegion.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfTypes.h \
../../DesktopEditor/raster/Metafile/Wmf/WmfUtils.h
target.path = /usr/lib target.path = /usr/lib
INSTALLS += target INSTALLS += target
} }
...@@ -1180,7 +1180,23 @@ class ShapePropertyReader : public RtfAbstractReader ...@@ -1180,7 +1180,23 @@ class ShapePropertyReader : public RtfAbstractReader
if( _T("") == m_sPropValue ) if( _T("") == m_sPropValue )
return; return;
CString sValue = m_sPropValue; CString sValue = m_sPropValue;
int nValue = Strings::ToInteger( sValue );
if( _T("wzName") == m_sPropName )
{
m_oShape.m_sName = sValue;
return;
}
else if( _T("pibName") == m_sPropName )
{
return;
}
else if( _T("wzDescription") == m_sPropName )
{
m_oShape.m_sDescription = sValue;
return;
}
//числовые
int nValue = Strings::ToInteger( sValue );
if( _T("shapeType") == m_sPropName ) if( _T("shapeType") == m_sPropName )
m_oShape.m_nShapeType = nValue; m_oShape.m_nShapeType = nValue;
......
...@@ -75,7 +75,10 @@ public: ...@@ -75,7 +75,10 @@ public:
{ {
//в проекте используется ungetcб только после getc //в проекте используется ungetcб только после getc
//поэтому проблем с выходом в 0 нет //поэтому проблем с выходом в 0 нет
m_nPosAbs--; if( m_nPosAbs + 1 < m_nSizeAbs )
{
m_nPosAbs--;
}//взять любой txt переименовать в rtf - зацикливание
} }
void putString( CStringA sText ) void putString( CStringA sText )
{ {
......
...@@ -301,7 +301,7 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter) ...@@ -301,7 +301,7 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter)
if( PROP_DEF != m_oPicture->m_nWidthGoal && PROP_DEF != m_oPicture->m_nHeightGoal ) if( PROP_DEF != m_oPicture->m_nWidthGoal && PROP_DEF != m_oPicture->m_nHeightGoal )
sResult.AppendFormat( _T("<wp:extent cx=\"%d\" cy=\"%d\"/>"), RtfUtility::Twips2Emu( m_oPicture->m_nWidthGoal ), RtfUtility::Twips2Emu( m_oPicture->m_nHeightGoal ) ); sResult.AppendFormat( _T("<wp:extent cx=\"%d\" cy=\"%d\"/>"), RtfUtility::Twips2Emu( m_oPicture->m_nWidthGoal ), RtfUtility::Twips2Emu( m_oPicture->m_nHeightGoal ) );
int nImageID = poDocument->m_oIdGenerator.Generate_ImagePropId(); int nImageID = poDocument->m_oIdGenerator.Generate_ImagePropId();
sResult.AppendFormat( _T("<wp:docPr id=\"%d\" name=\"\" descr=\"\"/>"), nImageID ); sResult.AppendFormat( _T("<wp:docPr id=\"%d\" name=\"%ls\" descr=\"\"/>"), m_sName.GetBuffer(), nImageID );
int nCropLeft = PROP_DEF; int nCropLeft = PROP_DEF;
int nCropTop = PROP_DEF; int nCropTop = PROP_DEF;
...@@ -328,8 +328,8 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter) ...@@ -328,8 +328,8 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter)
sResult.Append( _T("<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\"><pic:pic xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">")); sResult.Append( _T("<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\"><pic:pic xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">"));
sResult.Append( _T("<pic:nvPicPr>") ); sResult.Append( _T("<pic:nvPicPr>") );
sResult.AppendFormat( _T("<pic:cNvPr id=\"%d\" name=\"\" descr=\"\"/>"), nImageID ); sResult.AppendFormat( _T("<pic:cNvPr id=\"%d\" name=\"%ls\" descr=\"\"/>"), nImageID, m_sName.GetBuffer() );
if( 0 == m_bLockAnchor ) if( 0 == m_bLockAnchor )
sResult.Append( _T("<pic:cNvPicPr><a:picLocks noChangeAspect=\"0\" noChangeArrowheads=\"1\"/></pic:cNvPicPr>") ); sResult.Append( _T("<pic:cNvPicPr><a:picLocks noChangeAspect=\"0\" noChangeArrowheads=\"1\"/></pic:cNvPicPr>") );
else else
sResult.Append( _T("<pic:cNvPicPr><a:picLocks noChangeAspect=\"1\" noChangeArrowheads=\"1\"/></pic:cNvPicPr>") ); sResult.Append( _T("<pic:cNvPicPr><a:picLocks noChangeAspect=\"1\" noChangeArrowheads=\"1\"/></pic:cNvPicPr>") );
...@@ -565,7 +565,7 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter) ...@@ -565,7 +565,7 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter)
} }
} }
int nImageID = poDocument->m_oIdGenerator.Generate_ImagePropId(); int nImageID = poDocument->m_oIdGenerator.Generate_ImagePropId();
sResult.AppendFormat( _T("<wp:docPr id=\"%d\" name=\"\" descr=\"\"/>"), nImageID ); sResult.AppendFormat( _T("<wp:docPr id=\"%d\" name=\"%ls\" descr=\"\"/>"), nImageID, m_sName.GetBuffer() );
int nCropLeft = PROP_DEF; int nCropLeft = PROP_DEF;
int nCropTop = PROP_DEF; int nCropTop = PROP_DEF;
...@@ -592,7 +592,7 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter) ...@@ -592,7 +592,7 @@ CString RtfShape::RenderToOOX(RenderParameter oRenderParameter)
sResult.Append( _T("<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\"><pic:pic xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">")); sResult.Append( _T("<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/picture\"><pic:pic xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\">"));
sResult.Append( _T("<pic:nvPicPr>") ); sResult.Append( _T("<pic:nvPicPr>") );
sResult.AppendFormat( _T("<pic:cNvPr id=\"%d\" name=\"\" descr=\"\"/>"), nImageID ); sResult.AppendFormat( _T("<pic:cNvPr id=\"%d\" name=\"%ls\" descr=\"\"/>"), nImageID, m_sName.GetBuffer() );
if( 0 == m_bLockAnchor ) if( 0 == m_bLockAnchor )
sResult.Append( _T("<pic:cNvPicPr><a:picLocks noChangeAspect=\"0\" noChangeArrowheads=\"1\"/></pic:cNvPicPr>") ); sResult.Append( _T("<pic:cNvPicPr><a:picLocks noChangeAspect=\"0\" noChangeArrowheads=\"1\"/></pic:cNvPicPr>") );
else else
......
...@@ -22,6 +22,9 @@ public: ...@@ -22,6 +22,9 @@ public:
ShapeType m_eShapeType; ShapeType m_eShapeType;
CString m_sName;
CString m_sDescription;
int m_nLeft; //\shpleftN Specifies position of shape from the left of the anchor. The value N is in twips. int m_nLeft; //\shpleftN Specifies position of shape from the left of the anchor. The value N is in twips.
int m_nTop; //\shptopN Specifies position of shape from the top of the anchor. The value N is in twips. int m_nTop; //\shptopN Specifies position of shape from the top of the anchor. The value N is in twips.
int m_nBottom; //\shpbottomN Specifies position of shape from the bottom of the anchor. The value N is in twips. int m_nBottom; //\shpbottomN Specifies position of shape from the bottom of the anchor. The value N is in twips.
......
...@@ -92,8 +92,8 @@ namespace MetaFile ...@@ -92,8 +92,8 @@ namespace MetaFile
oFrame.OpenFile(wsTempFileName); oFrame.OpenFile(wsTempFileName);
// TODO: . // TODO: .
::_wunlink(wsTempFileName.c_str()); //::_wunlink(wsTempFileName.c_str());
NSFile::CFileBinary::Remove(wsTempFileName);
return false; return false;
} }
else if (BI_BITCOUNT_1 == ushBitCount) else if (BI_BITCOUNT_1 == ushBitCount)
...@@ -493,4 +493,4 @@ namespace MetaFile ...@@ -493,4 +493,4 @@ namespace MetaFile
else // BitmapInfoHeader else // BitmapInfoHeader
ReadImageInfoHeader(pHeaderBuffer + 4, ulHeaderBufferLen - 4, pImageBuffer, ulImageBufferLen, ppDstBuffer, pulWidth, pulHeight); ReadImageInfoHeader(pHeaderBuffer + 4, ulHeaderBufferLen - 4, pImageBuffer, ulImageBufferLen, ppDstBuffer, pulWidth, pulHeight);
} }
} }
\ No newline at end of file
...@@ -17,7 +17,10 @@ namespace MetaFile ...@@ -17,7 +17,10 @@ namespace MetaFile
CEmfLogBrushEx::~CEmfLogBrushEx() CEmfLogBrushEx::~CEmfLogBrushEx()
{ {
if (BS_DIBPATTERN == BrushStyle && L"" != DibPatternPath) if (BS_DIBPATTERN == BrushStyle && L"" != DibPatternPath)
::_wunlink(DibPatternPath.c_str()); {
// ::_wunlink(DibPatternPath.c_str());
NSFile::CFileBinary::Remove(DibPatternPath);
}
if (DibBuffer) if (DibBuffer)
delete[] DibBuffer; delete[] DibBuffer;
...@@ -58,4 +61,4 @@ namespace MetaFile ...@@ -58,4 +61,4 @@ namespace MetaFile
BrushStyle = BS_DIBPATTERN; BrushStyle = BS_DIBPATTERN;
DibPatternPath = wsTempFileName; DibPatternPath = wsTempFileName;
} }
} }
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "EmfTypes.h" #include "EmfTypes.h"
#include "../Wmf/WmfUtils.h" #include "../Wmf/WmfUtils.h"
#include "../Wmf/WmfTypes.h" #include "../Wmf/WmfTypes.h"
#include "../../Common/Types.h" #include "../../common/Types.h"
namespace MetaFile namespace MetaFile
{ {
...@@ -125,4 +125,4 @@ namespace MetaFile ...@@ -125,4 +125,4 @@ namespace MetaFile
}; };
} }
#endif // _EMF_OBJECTS_H #endif // _EMF_OBJECTS_H
\ No newline at end of file
#ifndef _EMF_TYPES_H #ifndef _EMF_TYPES_H
#define _EMF_TYPES_H #define _EMF_TYPES_H
#if !defined(_WIN32) && !defined(_WIN64)
//from wingdi.h
#ifndef _MAC
#define ENHMETA_SIGNATURE 0x464D4520
#else
#define ENHMETA_SIGNATURE 0x20454D46
#endif
// Stock object flag used in the object handle index in the enhanced
// metafile records.
// E.g. The object handle index (META_STOCK_OBJECT | BLACK_BRUSH)
// represents the stock object BLACK_BRUSH.
#define ENHMETA_STOCK_OBJECT 0x80000000
// Enhanced metafile record types.
#define EMR_HEADER 1
#define EMR_POLYBEZIER 2
#define EMR_POLYGON 3
#define EMR_POLYLINE 4
#define EMR_POLYBEZIERTO 5
#define EMR_POLYLINETO 6
#define EMR_POLYPOLYLINE 7
#define EMR_POLYPOLYGON 8
#define EMR_SETWINDOWEXTEX 9
#define EMR_SETWINDOWORGEX 10
#define EMR_SETVIEWPORTEXTEX 11
#define EMR_SETVIEWPORTORGEX 12
#define EMR_SETBRUSHORGEX 13
#define EMR_EOF 14
#define EMR_SETPIXELV 15
#define EMR_SETMAPPERFLAGS 16
#define EMR_SETMAPMODE 17
#define EMR_SETBKMODE 18
#define EMR_SETPOLYFILLMODE 19
#define EMR_SETROP2 20
#define EMR_SETSTRETCHBLTMODE 21
#define EMR_SETTEXTALIGN 22
#define EMR_SETCOLORADJUSTMENT 23
#define EMR_SETTEXTCOLOR 24
#define EMR_SETBKCOLOR 25
#define EMR_OFFSETCLIPRGN 26
#define EMR_MOVETOEX 27
#define EMR_SETMETARGN 28
#define EMR_EXCLUDECLIPRECT 29
#define EMR_INTERSECTCLIPRECT 30
#define EMR_SCALEVIEWPORTEXTEX 31
#define EMR_SCALEWINDOWEXTEX 32
#define EMR_SAVEDC 33
#define EMR_RESTOREDC 34
#define EMR_SETWORLDTRANSFORM 35
#define EMR_MODIFYWORLDTRANSFORM 36
#define EMR_SELECTOBJECT 37
#define EMR_CREATEPEN 38
#define EMR_CREATEBRUSHINDIRECT 39
#define EMR_DELETEOBJECT 40
#define EMR_ANGLEARC 41
#define EMR_ELLIPSE 42
#define EMR_RECTANGLE 43
#define EMR_ROUNDRECT 44
#define EMR_ARC 45
#define EMR_CHORD 46
#define EMR_PIE 47
#define EMR_SELECTPALETTE 48
#define EMR_CREATEPALETTE 49
#define EMR_SETPALETTEENTRIES 50
#define EMR_RESIZEPALETTE 51
#define EMR_REALIZEPALETTE 52
#define EMR_EXTFLOODFILL 53
#define EMR_LINETO 54
#define EMR_ARCTO 55
#define EMR_POLYDRAW 56
#define EMR_SETARCDIRECTION 57
#define EMR_SETMITERLIMIT 58
#define EMR_BEGINPATH 59
#define EMR_ENDPATH 60
#define EMR_CLOSEFIGURE 61
#define EMR_FILLPATH 62
#define EMR_STROKEANDFILLPATH 63
#define EMR_STROKEPATH 64
#define EMR_FLATTENPATH 65
#define EMR_WIDENPATH 66
#define EMR_SELECTCLIPPATH 67
#define EMR_ABORTPATH 68
#define EMR_GDICOMMENT 70
#define EMR_FILLRGN 71
#define EMR_FRAMERGN 72
#define EMR_INVERTRGN 73
#define EMR_PAINTRGN 74
#define EMR_EXTSELECTCLIPRGN 75
#define EMR_BITBLT 76
#define EMR_STRETCHBLT 77
#define EMR_MASKBLT 78
#define EMR_PLGBLT 79
#define EMR_SETDIBITSTODEVICE 80
#define EMR_STRETCHDIBITS 81
#define EMR_EXTCREATEFONTINDIRECTW 82
#define EMR_EXTTEXTOUTA 83
#define EMR_EXTTEXTOUTW 84
#define EMR_POLYBEZIER16 85
#define EMR_POLYGON16 86
#define EMR_POLYLINE16 87
#define EMR_POLYBEZIERTO16 88
#define EMR_POLYLINETO16 89
#define EMR_POLYPOLYLINE16 90
#define EMR_POLYPOLYGON16 91
#define EMR_POLYDRAW16 92
#define EMR_CREATEMONOBRUSH 93
#define EMR_CREATEDIBPATTERNBRUSHPT 94
#define EMR_EXTCREATEPEN 95
#define EMR_POLYTEXTOUTA 96
#define EMR_POLYTEXTOUTW 97
#define EMR_SETICMMODE 98
#define EMR_CREATECOLORSPACE 99
#define EMR_SETCOLORSPACE 100
#define EMR_DELETECOLORSPACE 101
#define EMR_GLSRECORD 102
#define EMR_GLSBOUNDEDRECORD 103
#define EMR_PIXELFORMAT 104
#define EMR_RESERVED_105 105
#define EMR_RESERVED_106 106
#define EMR_RESERVED_107 107
#define EMR_RESERVED_108 108
#define EMR_RESERVED_109 109
#define EMR_RESERVED_110 110
#define EMR_COLORCORRECTPALETTE 111
#define EMR_SETICMPROFILEA 112
#define EMR_SETICMPROFILEW 113
#define EMR_ALPHABLEND 114
#define EMR_SETLAYOUT 115
#define EMR_TRANSPARENTBLT 116
#define EMR_RESERVED_117 117
#define EMR_GRADIENTFILL 118
#define EMR_RESERVED_119 119
#define EMR_RESERVED_120 120
#define EMR_COLORMATCHTOTARGETW 121
#define EMR_CREATECOLORSPACEW 122
#define EMR_MIN 1
#define EMR_MAX 122
#endif
namespace MetaFile namespace MetaFile
{ {
struct TEmfColor struct TEmfColor
...@@ -354,4 +504,4 @@ namespace MetaFile ...@@ -354,4 +504,4 @@ namespace MetaFile
unsigned char Red; unsigned char Red;
}; };
}; };
#endif //_EMF_TYPES_H #endif //_EMF_TYPES_H
\ No newline at end of file
...@@ -1612,8 +1612,8 @@ private: ...@@ -1612,8 +1612,8 @@ private:
CBgraFrame oFrame; CBgraFrame oFrame;
oFrame.OpenFile(wsTempFileName); oFrame.OpenFile(wsTempFileName);
// TODO: Как будут файлы сделать чтение. // TODO: Как будут файлы сделать чтение.
::_wunlink(wsTempFileName.c_str()); NSFile::CFileBinary::Remove(wsTempFileName);
return false; return false;
} }
......
...@@ -13,8 +13,7 @@ ...@@ -13,8 +13,7 @@
#include "../../../common/File.h" #include "../../../common/File.h"
#define UTF8_TO_U(val) NSFile::CUtf8Converter::GetUnicodeStringFromUTF8((BYTE*)val, strlen(val)) #define U_TO_UTF8(val) NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(val.c_str(), val.length())
#define U_TO_UTF8(val) NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(val, wcslen(val))
static std::wstring ascii_to_unicode(const char *src) static std::wstring ascii_to_unicode(const char *src)
{ {
...@@ -165,7 +164,7 @@ static bool WmfOpenTempFile(std::wstring *pwsName, FILE **ppFile, wchar_t *wsMod ...@@ -165,7 +164,7 @@ static bool WmfOpenTempFile(std::wstring *pwsName, FILE **ppFile, wchar_t *wsMod
char *wsTempDirA; char *wsTempDirA;
if ( ( wsTempDirA = getenv( "TEMP" ) ) && ( wsFolder == NULL ) ) if ( ( wsTempDirA = getenv( "TEMP" ) ) && ( wsFolder == NULL ) )
{ {
std::wstring wsTempDir = UTF8_TO_U( wsTempDirA ); std::wstring wsTempDir = NSFile::CUtf8Converter::GetUnicodeStringFromUTF8((BYTE*)wsTempDirA, strlen(wsTempDirA));
wsTemp = wsTempDir.c_str(); wsTemp = wsTempDir.c_str();
#endif #endif
wsTemp.append(L"/"); wsTemp.append(L"/");
...@@ -185,8 +184,12 @@ static bool WmfOpenTempFile(std::wstring *pwsName, FILE **ppFile, wchar_t *wsMod ...@@ -185,8 +184,12 @@ static bool WmfOpenTempFile(std::wstring *pwsName, FILE **ppFile, wchar_t *wsMod
{ {
wsFileName = wsTemp; wsFileName = wsTemp;
wchar_t buffer[24]; wchar_t buffer[24];
_itow(nTime + nIndex,buffer,10); #if defined (_WIN32) || defined (_WIN64)
wsFileName.append(buffer); itow(nTime + nIndex,buffer,10);
wsFileName.append(buffer);
#else
wsFileName.append(std::to_wstring(nTime + nIndex));
#endif
if (wsExt) if (wsExt)
{ {
...@@ -200,7 +203,8 @@ static bool WmfOpenTempFile(std::wstring *pwsName, FILE **ppFile, wchar_t *wsMod ...@@ -200,7 +203,8 @@ static bool WmfOpenTempFile(std::wstring *pwsName, FILE **ppFile, wchar_t *wsMod
std::string sFileName = U_TO_UTF8(wsFileName); std::string sFileName = U_TO_UTF8(wsFileName);
if ( !( pTempFile = fopen( sFileName.c_str(), "r" ) ) ) if ( !( pTempFile = fopen( sFileName.c_str(), "r" ) ) )
{ {
std::string sMode = U_TO_UTF8(wsMode); std::wstring strMode (wsMode);
std::string sMode = U_TO_UTF8(strMode);
if ( !( pTempFile = fopen( sFileName.c_str(), sMode.c_str() ) ) ) if ( !( pTempFile = fopen( sFileName.c_str(), sMode.c_str() ) ) )
#endif #endif
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment