1
1
#nullable disable
2
2
3
+ using System ;
4
+ using SharpCompress . Common ;
5
+ using static SharpCompress . Compressors . Rar . UnpackV2017 . PackDef ;
6
+ using static SharpCompress . Compressors . Rar . UnpackV2017 . UnpackGlobal ;
3
7
#if ! Rar2017_64bit
4
8
using size_t = System . UInt32 ;
5
9
#else
8
12
using size_t = System . UInt64 ;
9
13
#endif
10
14
11
- using System ;
12
- using SharpCompress . Common ;
13
- using static SharpCompress . Compressors . Rar . UnpackV2017 . UnpackGlobal ;
14
- using static SharpCompress . Compressors . Rar . UnpackV2017 . PackDef ;
15
-
16
15
namespace SharpCompress . Compressors . Rar . UnpackV2017 ;
17
16
18
17
internal sealed partial class Unpack : BitInput
@@ -30,12 +29,12 @@ public Unpack( /* ComprDataIO *DataIO */
30
29
Suspended = false ;
31
30
UnpAllBuf = false ;
32
31
UnpSomeRead = false ;
33
- #if RarV2017_RAR_SMP
34
- MaxUserThreads = 1 ;
35
- UnpThreadPool = CreateThreadPool ( ) ;
36
- ReadBufMT = null ;
37
- UnpThreadData = null ;
38
- #endif
32
+ /* #if RarV2017_RAR_SMP
33
+ MaxUserThreads = 1;
34
+ UnpThreadPool = CreateThreadPool();
35
+ ReadBufMT = null;
36
+ UnpThreadData = null;
37
+ #endif*/
39
38
MaxWinSize = 0 ;
40
39
MaxWinMask = 0 ;
41
40
@@ -199,21 +198,21 @@ private void DoUnpack(uint Method, bool Solid)
199
198
break ;
200
199
#endif
201
200
case 50 : // RAR 5.0 compression algorithm.
202
- #if RarV2017_RAR_SMP
203
- if ( MaxUserThreads > 1 )
204
- {
205
- // We do not use the multithreaded unpack routine to repack RAR archives
206
- // in 'suspended' mode, because unlike the single threaded code it can
207
- // write more than one dictionary for same loop pass. So we would need
208
- // larger buffers of unknown size. Also we do not support multithreading
209
- // in fragmented window mode.
210
- if ( ! Fragmented )
211
- {
212
- Unpack5MT ( Solid ) ;
213
- break ;
214
- }
215
- }
216
- #endif
201
+ /* #if RarV2017_RAR_SMP
202
+ if (MaxUserThreads > 1)
203
+ {
204
+ // We do not use the multithreaded unpack routine to repack RAR archives
205
+ // in 'suspended' mode, because unlike the single threaded code it can
206
+ // write more than one dictionary for same loop pass. So we would need
207
+ // larger buffers of unknown size. Also we do not support multithreading
208
+ // in fragmented window mode.
209
+ if (!Fragmented)
210
+ {
211
+ Unpack5MT(Solid);
212
+ break;
213
+ }
214
+ }
215
+ #endif*/
217
216
Unpack5 ( Solid ) ;
218
217
break ;
219
218
#if ! Rar2017_NOSTRICT
0 commit comments