Fixed handling Rar 5.x solid archives

CQTexperiment
Chris Moeller 2014-10-03 00:36:52 -07:00
parent 63d255db7d
commit 7115566476
1 changed files with 3 additions and 4 deletions

View File

@ -62,17 +62,16 @@ unrar_err_t CmdExtract::ExtractCurrentFile( bool SkipSolid, bool check_compatibi
Unp = new Unpack( &Arc ); Unp = new Unpack( &Arc );
if ( !Unp ) if ( !Unp )
return unrar_err_memory; return unrar_err_memory;
Unp->Init(Arc.FileHead.WinSize,Arc.FileHead.Solid);
} }
Unp->Init(Arc.FileHead.WinSize,Arc.FileHead.Solid);
Unp->SetDestSize(Arc.FileHead.UnpSize); Unp->SetDestSize(Arc.FileHead.UnpSize);
#ifndef SFX_MODULE #ifndef SFX_MODULE
if (Arc.FileHead.UnpVer>=13 && Arc.FileHead.UnpVer<=15) if (Arc.Format!=RARFMT50 && Arc.FileHead.UnpVer<=15)
Unp->DoUnpack(15,FileCount>1 && Arc.Solid); Unp->DoUnpack(15,FileCount>1 && Arc.Solid);
else else
#endif #endif
Unp->DoUnpack(Arc.FileHead.UnpVer,!!(Arc.FileHead.Flags & LHD_SOLID)); Unp->DoUnpack(Arc.FileHead.UnpVer,Arc.FileHead.Solid);
} }
// (no need to seek to next file) // (no need to seek to next file)