Fixed handling Rar 5.x solid archives
parent
63d255db7d
commit
7115566476
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue