From 903eb40d19104785da375867efc6314932d75e93 Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Tue, 12 Jan 2021 10:28:01 +0000 Subject: [PATCH] Add parseInt function for parsing CLI arguments for array size --- main.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/main.cpp b/main.cpp index cd1c8df..23a4699 100644 --- a/main.cpp +++ b/main.cpp @@ -518,6 +518,13 @@ int parseUInt(const char *str, unsigned int *output) return !strlen(next); } +int parseInt(const char *str, int *output) +{ + char *next; + *output = strtol(str, &next, 10); + return !strlen(next); +} + void parseArguments(int argc, char *argv[]) { for (int i = 1; i < argc; i++) @@ -538,13 +545,11 @@ void parseArguments(int argc, char *argv[]) else if (!std::string("--arraysize").compare(argv[i]) || !std::string("-s").compare(argv[i])) { - unsigned int tmp_array_size = static_cast(ARRAY_SIZE); - if (++i >= argc || !parseUInt(argv[i], &tmp_array_size)) + if (++i >= argc || !parseInt(argv[i], &ARRAY_SIZE)) { std::cerr << "Invalid array size." << std::endl; exit(EXIT_FAILURE); } - ARRAY_SIZE = static_cast(tmp_array_size); } else if (!std::string("--numtimes").compare(argv[i]) || !std::string("-n").compare(argv[i]))