/** @file\r
LZMA Compress/Decompress tool (LzmaCompress)\r
\r
- Based on LZMA SDK 4.65:\r
+ Based on LZMA SDK 16.04:\r
LzmaUtil.c -- Test application for LZMA compression\r
- 2008-11-23 : Igor Pavlov : Public domain\r
+ 2016-10-04 : Igor Pavlov : Public domain\r
\r
- Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
#define LZMA_HEADER_SIZE (LZMA_PROPS_SIZE + 8)\r
\r
typedef enum {\r
- NoConverter, \r
+ NoConverter,\r
X86Converter,\r
MaxConverter\r
} CONVERTER_TYPE;\r
const char *kCantAllocateMessage = "Can not allocate memory";\r
const char *kDataErrorMessage = "Data error";\r
\r
-static void *SzAlloc(void *p, size_t size) { (void)p; return MyAlloc(size); }\r
-static void SzFree(void *p, void *address) { (void)p; MyFree(address); }\r
-static ISzAlloc g_Alloc = { SzAlloc, SzFree };\r
-\r
static Bool mQuietMode = False;\r
static CONVERTER_TYPE mConType = NoConverter;\r
\r
#define UTILITY_MAJOR_VERSION 0\r
#define UTILITY_MINOR_VERSION 2\r
#define INTEL_COPYRIGHT \\r
- "Copyright (c) 2009-2012, Intel Corporation. All rights reserved."\r
+ "Copyright (c) 2009-2018, Intel Corporation. All rights reserved."\r
void PrintHelp(char *buffer)\r
{\r
strcat(buffer,\r
} else {\r
return SZ_ERROR_INPUT_EOF;\r
}\r
- \r
+\r
if (SeqInStream_Read(inStream, inBuffer, inSize) != SZ_OK) {\r
res = SZ_ERROR_READ;\r
goto Done;\r
res = SZ_ERROR_MEM;\r
goto Done;\r
}\r
- \r
+\r
{\r
int i;\r
for (i = 0; i < 8; i++)\r
goto Done;\r
}\r
memcpy(filteredStream, inBuffer, inSize);\r
- \r
+\r
if (mConType == X86Converter) {\r
{\r
UInt32 x86State;\r
{\r
size_t outSizeProcessed = outSize - LZMA_HEADER_SIZE;\r
size_t outPropsSize = LZMA_PROPS_SIZE;\r
- \r
+\r
res = LzmaEncode(outBuffer + LZMA_HEADER_SIZE, &outSizeProcessed,\r
mConType != NoConverter ? filteredStream : inBuffer, inSize,\r
&props, outBuffer, &outPropsSize, 0,\r
NULL, &g_Alloc, &g_Alloc);\r
- \r
+\r
if (res != SZ_OK)\r
goto Done;\r
\r
\r
int i;\r
\r
- if (inSize < LZMA_HEADER_SIZE) \r
+ if (inSize < LZMA_HEADER_SIZE)\r
return SZ_ERROR_INPUT_EOF;\r
\r
inBuffer = (Byte *)MyAlloc(inSize);\r
if (inBuffer == 0)\r
return SZ_ERROR_MEM;\r
- \r
+\r
if (SeqInStream_Read(inStream, inBuffer, inSize) != SZ_OK) {\r
res = SZ_ERROR_READ;\r
goto Done;\r
if (InFile_Open(&inStream.file, inputFile) != 0)\r
return PrintError(rs, "Can not open input file");\r
\r
- if (OutFile_Open(&outStream.file, outputFile) != 0)\r
+ if (OutFile_Open(&outStream.file, outputFile) != 0) {\r
+ File_Close(&inStream.file);\r
return PrintError(rs, "Can not open output file");\r
+ }\r
\r
File_GetLength(&inStream.file, &fileSize);\r
\r