mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
XlsFile2 bug 24441
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@63909 954022d7-b5bf-4e40-9824-e11837661b57
This commit is contained in:
committed by
Alexander Trofimov
parent
3777a01821
commit
4357aba883
@ -37,6 +37,8 @@ CFRecordPtr CFStreamCacheReader::getNextRecord(const CFRecordType::TypeId desira
|
||||
{
|
||||
CFRecordType::TypeString rec_name = records_cache.front()->getTypeString();
|
||||
|
||||
//Log::warning(rec_name);
|
||||
|
||||
if (desirable_type == rt_MsoDrawingGroup) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rt_MsoDrawingGroup + rt_Continue <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
{
|
||||
if (checkNextRecord(desirable_type, 1))
|
||||
|
||||
@ -101,7 +101,9 @@ CFStreamPtr CompoundFile::getNamedStream(const std::string& name)
|
||||
{
|
||||
if(!streams[name])
|
||||
{
|
||||
streams[name].reset(new CFStream(openStream(name.c_str())));
|
||||
POLE::Stream * pStream = openStream(name.c_str());
|
||||
if (pStream)
|
||||
streams[name].reset(new CFStream(pStream));
|
||||
}
|
||||
return streams[name];
|
||||
}
|
||||
@ -111,7 +113,9 @@ CFStreamPtr CompoundFile::createNamedStream(const std::string& name)
|
||||
{
|
||||
if(!streams[name])
|
||||
{
|
||||
streams[name].reset(new CFStream(createStream(name.c_str())));
|
||||
POLE::Stream * pStream = createStream(name.c_str());
|
||||
if (pStream)
|
||||
streams[name].reset(new CFStream(pStream));
|
||||
}
|
||||
return streams[name];
|
||||
}
|
||||
@ -131,7 +135,9 @@ POLE::Stream* CompoundFile::openStream(const std::string & stream_name)
|
||||
{
|
||||
throw;// EXCEPT::RT::CompoundFileFormatError(std::string("Error opening \"") + static_cast<char*>(stream_name) + "\" stream", hres);
|
||||
}
|
||||
return pStream;
|
||||
if ((pStream) && (pStream->size() > 0))
|
||||
return pStream;
|
||||
else return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
|
||||
#include "HLink.h"
|
||||
//#include <Exception/AttributeDataWrong.h>
|
||||
|
||||
namespace XLS
|
||||
{;
|
||||
|
||||
@ -9,14 +9,14 @@ namespace OLEPS
|
||||
|
||||
PropertySetStream::PropertySetStream(XLS::CFStreamPtr stream)
|
||||
{
|
||||
unsigned short ByteOrder;
|
||||
unsigned short Version;
|
||||
unsigned int SystemIdentifier;
|
||||
unsigned int NumPropertySets;
|
||||
_GUID_ Clsid;
|
||||
unsigned short ByteOrder=0;
|
||||
unsigned short Version=0;
|
||||
unsigned int SystemIdentifier=0;
|
||||
unsigned int NumPropertySets=0;
|
||||
_GUID_ Clsid={};
|
||||
|
||||
*stream >> ByteOrder >> Version >> SystemIdentifier >> Clsid >> NumPropertySets;
|
||||
|
||||
|
||||
std::vector<unsigned int> property_sets_offsets;
|
||||
for(unsigned int i = 0; i < NumPropertySets; ++i)
|
||||
{
|
||||
|
||||
@ -153,6 +153,9 @@ const bool WorksheetSubstream::loadContent(BinProcessor& proc)
|
||||
proc.repeated<PIVOTVIEW>(0, 0);
|
||||
proc.optional<DCON>();
|
||||
proc.repeated<WINDOW>(1, 0);
|
||||
|
||||
proc.optional<SheetExt>(); //BulletinSearch.xls ??? <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
proc.repeated<CUSTOMVIEW>(0, 0);
|
||||
proc.repeated<SORT>(0, 2);
|
||||
proc.optional<DxGCol>();
|
||||
|
||||
Reference in New Issue
Block a user