]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/LzmaDec.c
MdeModulePkg Lzma: Update LZMA SDK version to 19.00
[mirror_edk2.git] / MdeModulePkg / Library / LzmaCustomDecompressLib / Sdk / C / LzmaDec.c
index a262319928a9eba54dd55eb0732cb691444fce02..80fb74525ad9a07338144b7ca731bebd50655e25 100644 (file)
@@ -1,15 +1,15 @@
 /* LzmaDec.c -- LZMA Decoder\r
-2018-02-28 : Igor Pavlov : Public domain */\r
+2018-07-04 : Igor Pavlov : Public domain */\r
 \r
 #include "Precomp.h"\r
 \r
-/* #include "CpuArch.h" */\r
-#include "LzmaDec.h"\r
-\r
 #ifndef EFIAPI\r
 #include <string.h>\r
 #endif\r
 \r
+/* #include "CpuArch.h" */\r
+#include "LzmaDec.h"\r
+\r
 #define kNumTopBits 24\r
 #define kTopValue ((UInt32)1 << kNumTopBits)\r
 \r
@@ -21,7 +21,7 @@
 \r
 #define NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); }\r
 \r
-#define IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)\r
+#define IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * (UInt32)ttt; if (code < bound)\r
 #define UPDATE_0(p) range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits));\r
 #define UPDATE_1(p) range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits));\r
 #define GET_BIT2(p, i, A0, A1) IF_BIT_0(p) \\r
@@ -68,7 +68,7 @@
 \r
 #define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); }\r
 \r
-#define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)\r
+#define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * (UInt32)ttt; if (code < bound)\r
 #define UPDATE_0_CHECK range = bound;\r
 #define UPDATE_1_CHECK range -= bound; code -= bound;\r
 #define GET_BIT2_CHECK(p, i, A0, A1) IF_BIT_0_CHECK(p) \\r
@@ -541,7 +541,7 @@ int MY_FAST_CALL LZMA_DECODE_REAL(CLzmaDec *p, SizeT limit, const Byte *bufLimit
         curLen = ((rem < len) ? (unsigned)rem : len);\r
         pos = dicPos - rep0 + (dicPos < rep0 ? dicBufSize : 0);\r
 \r
-        processedPos += curLen;\r
+        processedPos += (UInt32)curLen;\r
 \r
         len -= curLen;\r
         if (curLen <= dicBufSize - pos)\r
@@ -549,7 +549,7 @@ int MY_FAST_CALL LZMA_DECODE_REAL(CLzmaDec *p, SizeT limit, const Byte *bufLimit
           Byte *dest = dic + dicPos;\r
           ptrdiff_t src = (ptrdiff_t)pos - (ptrdiff_t)dicPos;\r
           const Byte *lim = dest + curLen;\r
-          dicPos += curLen;\r
+          dicPos += (SizeT)curLen;\r
           do\r
             *(dest) = (Byte)*(dest + src);\r
           while (++dest != lim);\r
@@ -574,14 +574,14 @@ int MY_FAST_CALL LZMA_DECODE_REAL(CLzmaDec *p, SizeT limit, const Byte *bufLimit
   p->buf = buf;\r
   p->range = range;\r
   p->code = code;\r
-  p->remainLen = len;\r
+  p->remainLen = (UInt32)len;\r
   p->dicPos = dicPos;\r
   p->processedPos = processedPos;\r
   p->reps[0] = rep0;\r
   p->reps[1] = rep1;\r
   p->reps[2] = rep2;\r
   p->reps[3] = rep3;\r
-  p->state = state;\r
+  p->state = (UInt32)state;\r
 \r
   return SZ_OK;\r
 }\r
@@ -603,8 +603,8 @@ static void MY_FAST_CALL LzmaDec_WriteRem(CLzmaDec *p, SizeT limit)
     if (p->checkDicSize == 0 && p->prop.dicSize - p->processedPos <= len)\r
       p->checkDicSize = p->prop.dicSize;\r
 \r
-    p->processedPos += len;\r
-    p->remainLen -= len;\r
+    p->processedPos += (UInt32)len;\r
+    p->remainLen -= (UInt32)len;\r
     while (len != 0)\r
     {\r
       len--;\r
@@ -852,7 +852,7 @@ static ELzmaDummy LzmaDec_TryDummy(const CLzmaDec *p, const Byte *buf, SizeT inS
 }\r
 \r
 \r
-void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState)\r
+void LzmaDec_InitDicAndState(CLzmaDec *p, BoolInt initDic, BoolInt initState)\r
 {\r
   p->remainLen = kMatchSpecLenStart + 1;\r
   p->tempBufSize = 0;\r
@@ -981,10 +981,10 @@ SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *sr
         p->tempBufSize = rem;\r
         if (rem < LZMA_REQUIRED_INPUT_MAX || checkEndMarkNow)\r
         {\r
-          int dummyRes = LzmaDec_TryDummy(p, p->tempBuf, rem);\r
+          int dummyRes = LzmaDec_TryDummy(p, p->tempBuf, (SizeT)rem);\r
           if (dummyRes == DUMMY_ERROR)\r
           {\r
-            (*srcLen) += lookAhead;\r
+            (*srcLen) += (SizeT)lookAhead;\r
             *status = LZMA_STATUS_NEEDS_MORE_INPUT;\r
             return SZ_OK;\r
           }\r
@@ -1007,9 +1007,9 @@ SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *sr
             return SZ_ERROR_FAIL; /* some internal error */\r
           lookAhead -= rem;\r
         }\r
-        (*srcLen) += lookAhead;\r
+        (*srcLen) += (SizeT)lookAhead;\r
         src += lookAhead;\r
-        inSize -= lookAhead;\r
+        inSize -= (SizeT)lookAhead;\r
         p->tempBufSize = 0;\r
       }\r
   }\r