aboutsummaryrefslogtreecommitdiff
path: root/CPP/Common/CrcReg.cpp
diff options
context:
space:
mode:
authorIgor Pavlov <87184205+ip7z@users.noreply.github.com>2024-05-14 00:00:00 +0000
committerIgor Pavlov <87184205+ip7z@users.noreply.github.com>2024-05-15 23:55:04 +0500
commitfc662341e6f85da78ada0e443f6116b978f79f22 (patch)
tree1be1cc402a7a9cbc18d4eeea6b141354c2d559e3 /CPP/Common/CrcReg.cpp
parent5b39dc76f1bc82f941d5c800ab9f34407a06b53a (diff)
download7zip-24.05.tar.gz
7zip-24.05.tar.bz2
7zip-24.05.zip
24.0524.05
Diffstat (limited to 'CPP/Common/CrcReg.cpp')
-rw-r--r--CPP/Common/CrcReg.cpp23
1 files changed, 4 insertions, 19 deletions
diff --git a/CPP/Common/CrcReg.cpp b/CPP/Common/CrcReg.cpp
index 6cda892..cd5d3da 100644
--- a/CPP/Common/CrcReg.cpp
+++ b/CPP/Common/CrcReg.cpp
@@ -11,14 +11,6 @@
11 11
12EXTERN_C_BEGIN 12EXTERN_C_BEGIN
13 13
14// UInt32 Z7_FASTCALL CrcUpdateT1(UInt32 v, const void *data, size_t size, const UInt32 *table);
15
16extern CRC_FUNC g_CrcUpdate;
17// extern CRC_FUNC g_CrcUpdateT4;
18extern CRC_FUNC g_CrcUpdateT8;
19extern CRC_FUNC g_CrcUpdateT0_32;
20extern CRC_FUNC g_CrcUpdateT0_64;
21
22EXTERN_C_END 14EXTERN_C_END
23 15
24Z7_CLASS_IMP_COM_2( 16Z7_CLASS_IMP_COM_2(
@@ -27,7 +19,7 @@ Z7_CLASS_IMP_COM_2(
27 , ICompressSetCoderProperties 19 , ICompressSetCoderProperties
28) 20)
29 UInt32 _crc; 21 UInt32 _crc;
30 CRC_FUNC _updateFunc; 22 Z7_CRC_UPDATE_FUNC _updateFunc;
31 23
32 Z7_CLASS_NO_COPY(CCrcHasher) 24 Z7_CLASS_NO_COPY(CCrcHasher)
33 25
@@ -40,17 +32,10 @@ public:
40 32
41bool CCrcHasher::SetFunctions(UInt32 tSize) 33bool CCrcHasher::SetFunctions(UInt32 tSize)
42{ 34{
43 CRC_FUNC f = NULL; 35 const Z7_CRC_UPDATE_FUNC f = z7_GetFunc_CrcUpdate(tSize);
44 if (tSize == 0) f = g_CrcUpdate;
45 // else if (tSize == 1) f = CrcUpdateT1;
46 // else if (tSize == 4) f = g_CrcUpdateT4;
47 else if (tSize == 8) f = g_CrcUpdateT8;
48 else if (tSize == 32) f = g_CrcUpdateT0_32;
49 else if (tSize == 64) f = g_CrcUpdateT0_64;
50
51 if (!f) 36 if (!f)
52 { 37 {
53 _updateFunc = g_CrcUpdate; 38 _updateFunc = CrcUpdate;
54 return false; 39 return false;
55 } 40 }
56 _updateFunc = f; 41 _updateFunc = f;
@@ -80,7 +65,7 @@ Z7_COM7F_IMF2(void, CCrcHasher::Init())
80 65
81Z7_COM7F_IMF2(void, CCrcHasher::Update(const void *data, UInt32 size)) 66Z7_COM7F_IMF2(void, CCrcHasher::Update(const void *data, UInt32 size))
82{ 67{
83 _crc = _updateFunc(_crc, data, size, g_CrcTable); 68 _crc = _updateFunc(_crc, data, size);
84} 69}
85 70
86Z7_COM7F_IMF2(void, CCrcHasher::Final(Byte *digest)) 71Z7_COM7F_IMF2(void, CCrcHasher::Final(Byte *digest))