From 375703fbd350e17d5588d3ed10151be70041d11c Mon Sep 17 00:00:00 2001 From: Pierre Carrier Date: Fri, 18 Jul 2014 06:09:53 -0700 Subject: [PATCH] src/jnienv.cpp: support G size suffix --- src/jnienv.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/jnienv.cpp b/src/jnienv.cpp index 1f067b0268..47efab2353 100644 --- a/src/jnienv.cpp +++ b/src/jnienv.cpp @@ -3286,19 +3286,30 @@ int parseSize(const char* s) { unsigned length = strlen(s); RUNTIME_ARRAY(char, buffer, length + 1); - if (length == 0) { + + if (length == 0) return 0; - } else if (s[length - 1] == 'k' or s[length - 1] == 'K') { + + char suffix = s[length - 1]; + if (suffix== 'k' or suffix == 'K') { memcpy(RUNTIME_ARRAY_BODY(buffer), s, length - 1); RUNTIME_ARRAY_BODY(buffer)[length - 1] = 0; return atoi(RUNTIME_ARRAY_BODY(buffer)) * 1024; - } else if (s[length - 1] == 'm' or s[length - 1] == 'M') { + } + + if (suffix == 'm' or suffix == 'M') { memcpy(RUNTIME_ARRAY_BODY(buffer), s, length - 1); RUNTIME_ARRAY_BODY(buffer)[length - 1] = 0; return atoi(RUNTIME_ARRAY_BODY(buffer)) * 1024 * 1024; - } else { - return atoi(s); } + + if (suffix == 'g' or suffix == 'G') { + memcpy(RUNTIME_ARRAY_BODY(buffer), s, length - 1); + RUNTIME_ARRAY_BODY(buffer)[length - 1] = 0; + return atoi(RUNTIME_ARRAY_BODY(buffer)) * 1024 * 1024 * 1024; + } + + return atoi(s); } void append(char** p, const char* value, unsigned length, char tail)