From de9dc56f21de76d36be5ef184efc103f0ef7f576 Mon Sep 17 00:00:00 2001 From: Patrick LeBlanc Date: Tue, 20 Nov 2018 13:00:36 -0600 Subject: [PATCH] MCOL-1847. Made the field parsing a little more paranoid. --- primitives/primproc/primproc.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/primitives/primproc/primproc.cpp b/primitives/primproc/primproc.cpp index 4ec66b767..0845410ff 100644 --- a/primitives/primproc/primproc.cpp +++ b/primitives/primproc/primproc.cpp @@ -526,16 +526,20 @@ int main(int argc, char* argv[]) } #else - if (temp > 0) + bool cacheInMB = false; + if (temp > 0) { BRPBlocksPct = temp; - /* MCOL-1847. Did the user specify this in MB or GB? */ - int len = strBlockPct.length(); - if (strBlockPct[len-1] == 'g' || strBlockPct[len-1] == 'm') - { - if (strBlockPct[len-1] == 'g') - BRPBlocksPct *= 1024; - BRPBlocks = BRPBlocksPct * 128; // 128 blocks per MB + /* MCOL-1847. Did the user specify this in MB or GB? */ + int len = strBlockPct.length(); + if (strBlockPct[len-1] == 'g' || strBlockPct[len-1] == 'm') + { + if (strBlockPct[len-1] == 'g') + BRPBlocksPct *= 1024; + cacheInMB = true; + } } + if (cacheInMB) + BRPBlocks = BRPBlocksPct * 128; // 128 blocks per MB else BRPBlocks = ((BRPBlocksPct / 100.0) * (double) cg.getTotalMemory()) / 8192; #endif