From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: shenglei.zhang@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Sun, 29 Sep 2019 20:52:35 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Sep 2019 20:52:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,565,1559545200"; d="scan'208";a="195199234" Received: from shenglei-dev.ccr.corp.intel.com ([10.239.158.52]) by orsmga006.jf.intel.com with ESMTP; 29 Sep 2019 20:52:33 -0700 From: "Zhang, Shenglei" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao Subject: [PATCH] BaseTools/LzmaCompress: Fix the option "d" dictionary size Date: Mon, 30 Sep 2019 11:52:28 +0800 Message-Id: <20190930035228.72296-1-shenglei.zhang@intel.com> X-Mailer: git-send-email 2.18.0.windows.1 The range of dictionary size is set from [0,30] to [0,27]. And update the help information for this. The previous logic for processing the parameter dict size is incorrect. Now fix the logic. The option "d" is added at 6b80310f34199d1f62e45e40fa902734735091fa. (https://bugzilla.tianocore.org/show_bug.cgi?id=2077) Cc: Bob Feng Cc: Liming Gao Signed-off-by: Shenglei Zhang --- BaseTools/Source/C/LzmaCompress/LzmaCompress.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/BaseTools/Source/C/LzmaCompress/LzmaCompress.c b/BaseTools/Source/C/LzmaCompress/LzmaCompress.c index 856fcf9ffb17..bebdb9aa84a1 100644 --- a/BaseTools/Source/C/LzmaCompress/LzmaCompress.c +++ b/BaseTools/Source/C/LzmaCompress/LzmaCompress.c @@ -42,7 +42,7 @@ const char *kInvalidParamValMessage = "Invalid parameter value"; static Bool mQuietMode = False; static CONVERTER_TYPE mConType = NoConverter; -UINT64 mDictionarySize = 31; +UINT64 mDictionarySize = 28; UINT64 mCompressionMode = 2; #define UTILITY_NAME "LzmaCompress" @@ -64,7 +64,7 @@ void PrintHelp(char *buffer) " -q, --quiet: reduce output messages\n" " --debug [0-9]: set debug level\n" " -a: set compression mode 0 = fast, 1 = normal, default: 1 (normal)\n" - " d: sets Dictionary size - [0, 30], default: 23 (8MB)\n" + " d: sets Dictionary size - [0, 27], default: 24 (16MB)\n" " --version: display the program version and exit\n" " -h, --help: display this help text\n" ); @@ -298,8 +298,12 @@ int main2(int numArgs, const char *args[], char *rs) } } else if (strcmp(args[param], "d") == 0) { AsciiStringToUint64(args[param + 1],FALSE,&mDictionarySize); - if (mDictionarySize <= 30){ - props.dictSize = (UINT32)mDictionarySize; + if (mDictionarySize <= 27) { + if (mDictionarySize == 0) { + props.dictSize = 0; + } else { + props.dictSize = (1 << mDictionarySize); + } param++; continue; } else { -- 2.18.0.windows.1