From fcff4663dd5bd33eed931c7731fd133f49551b4b Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 25 Oct 2014 04:43:08 +0300 Subject: [PATCH] unix: Allow -X heapsize= option take numbers with K & M suffixes. For kilobytes and megabytes respectively. --- unix/main.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/unix/main.c b/unix/main.c index 3c0a877673..a8de9fdee3 100644 --- a/unix/main.c +++ b/unix/main.c @@ -269,7 +269,14 @@ void pre_process_options(int argc, char **argv) { emit_opt = MP_EMIT_OPT_VIPER; #if MICROPY_ENABLE_GC } else if (strncmp(argv[a + 1], "heapsize=", sizeof("heapsize=") - 1) == 0) { - heap_size = strtol(argv[a + 1] + sizeof("heapsize=") - 1, NULL, 0); + char *end; + heap_size = strtol(argv[a + 1] + sizeof("heapsize=") - 1, &end, 0); + // Don't bring unneeded libc dependencies like tolower() + if ((*end | 0x20) == 'k') { + heap_size *= 1024; + } else if ((*end | 0x20) == 'm') { + heap_size *= 1024 * 1024; + } #endif } else { exit(usage(argv));