[commit] r1415 - trunk/GME/Parser
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Tue Jul 19 14:01:50 CDT 2011
Author: ksmyth
Date: Tue Jul 19 14:01:50 2011
New Revision: 1415
Log:
Fix GME-360: encode .xmes in UTF-8
Modified:
trunk/GME/Parser/ (props changed)
trunk/GME/Parser/MgaDumper.cpp
trunk/GME/Parser/MgaDumper.h
trunk/GME/Parser/Transcoder.cpp
Modified: trunk/GME/Parser/MgaDumper.cpp
==============================================================================
--- trunk/GME/Parser/MgaDumper.cpp Tue Jul 19 14:00:24 2011 (r1414)
+++ trunk/GME/Parser/MgaDumper.cpp Tue Jul 19 14:01:50 2011 (r1415)
@@ -85,7 +85,7 @@
// --------------------------- CMgaDumper
-void CMgaDumper::InitDump(IMgaProject *p, BSTR xmlfile)
+void CMgaDumper::InitDump(IMgaProject *p, BSTR xmlfile, BSTR encoding)
{
if( p == NULL )
HR_THROW(E_INVALIDARG);
@@ -96,7 +96,7 @@
if( filename.empty() )
HR_THROW(E_INVALIDARG);
- ofs.init( filename.c_str(), _T("UTF-16"));
+ ofs.init( filename.c_str(), encoding);
elems.clear();
@@ -146,7 +146,7 @@
COMTRY
{
- InitDump(p, xmlfile);
+ InitDump(p, xmlfile, _bstr_t(L"UTF-8"));
ofs << L"<!DOCTYPE project SYSTEM \"mga.dtd\">\n\n";
@@ -193,7 +193,7 @@
if( !project) return S_OK;
- InitDump(project, xmlfile);
+ InitDump(project, xmlfile, _bstr_t(L"UTF-16"));
ofs << L"<!DOCTYPE clipboard SYSTEM \"mga.dtd\" [\r\n";
ofs << L"\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\r\n";
@@ -1720,7 +1720,7 @@
return S_OK;
- InitDump( project, xmlfile);
+ InitDump( project, xmlfile, _bstr_t(L"UTF-16"));
putInTerritory( m_selFcos);
putInTerritory( m_selFolders);
@@ -1808,7 +1808,7 @@
return DumpClos( p_sel_fcos, p_sel_folds, xmlfile, dump_options);
}
- InitDump( project, xmlfile);
+ InitDump( project, xmlfile, _bstr_t(L"UTF-16"));
putInTerritory( m_selFcos);
putInTerritory( parentless_fcos);
Modified: trunk/GME/Parser/MgaDumper.h
==============================================================================
--- trunk/GME/Parser/MgaDumper.h Tue Jul 19 14:00:24 2011 (r1414)
+++ trunk/GME/Parser/MgaDumper.h Tue Jul 19 14:01:50 2011 (r1415)
@@ -62,7 +62,7 @@
// ------- Methods
public:
- void InitDump(IMgaProject *p, BSTR xmlfile);
+ void InitDump(IMgaProject *p, BSTR xmlfile, BSTR encoding);
void DoneDump(bool abort);
STDMETHOD(DumpProject)(IMgaProject *p, BSTR xmlfile);
Modified: trunk/GME/Parser/Transcoder.cpp
==============================================================================
--- trunk/GME/Parser/Transcoder.cpp Tue Jul 19 14:00:24 2011 (r1414)
+++ trunk/GME/Parser/Transcoder.cpp Tue Jul 19 14:01:50 2011 (r1415)
@@ -64,7 +64,10 @@
HR_THROW(E_INVALID_FILENAME);
// write BOM
- *m_pFormatter << (XMLCh) 0xFEFF;
+ if (_tcsicmp(_T("UTF-16"), encodingName) == 0)
+ {
+ *m_pFormatter << (XMLCh) 0xFEFF;
+ }
*m_pFormatter << gXMLDecl1 << m_pFormatter->getEncodingName() << gXMLDecl2; //will dump '<?xml version="1.0" encoding="UTF-8"?>
}
More information about the gme-commit
mailing list