Commit 36e3a0ce authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander Trofimov

ошибки при чтении add "pReader->Skip(1); // start attributes"

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@58930 954022d7-b5bf-4e40-9824-e11837661b57
parent 3ffa168c
......@@ -171,6 +171,8 @@ namespace PPTX
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader)
{
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (pReader->GetPos() < _end_rec)
{
......
......@@ -152,6 +152,8 @@ namespace PPTX
{
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (pReader->GetPos() < _end_rec)
{
BYTE _at = pReader->GetUChar();
......
......@@ -156,6 +156,8 @@ namespace PPTX
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader)
{
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (pReader->GetPos() < _end_rec)
{
......
......@@ -189,6 +189,8 @@ namespace PPTX
virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader)
{
LONG _end_rec = pReader->GetPos() + pReader->GetLong() + 4;
pReader->Skip(1); // start attributes
while (pReader->GetPos() < _end_rec)
{
......
......@@ -192,15 +192,19 @@ namespace PPTX
for (ULONG i = 0; i < _c; ++i)
{
pReader->Skip(5); // type (0) + len
SpTreeElem elm;
SpTreeElems.push_back(elm);
SpTreeElems.back().fromPPTY(pReader);
if (!SpTreeElems.back().is_init())
pReader->Skip(1); // type (0)
LONG nElemLength = pReader->GetLong(); // len
//SpTreeElem::fromPPTY GetChar, toPPTY
if(nElemLength > 0)
{
SpTreeElems.pop_back();
SpTreeElem elm;
SpTreeElems.push_back(elm);
SpTreeElems.back().fromPPTY(pReader);
if (!SpTreeElems.back().is_init())
{
SpTreeElems.pop_back();
}
}
}
}
......
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