From a3648963ee354a0a50d4bb8a874411081164cc6c Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 17 Jun 2016 17:55:09 +0200 Subject: [PATCH] Make argv const --- application/argumentparser.cpp | 4 ++-- application/argumentparser.h | 13 ++----------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/application/argumentparser.cpp b/application/argumentparser.cpp index 0578eab..7e0af64 100644 --- a/application/argumentparser.cpp +++ b/application/argumentparser.cpp @@ -363,7 +363,7 @@ Argument *ArgumentParser::findArg(const ArgumentVector &arguments, const Argumen * \throws Throws Failure if the specified arguments violate the constraints defined * by the Argument instances. */ -void ArgumentParser::parseArgs(int argc, const char *argv[]) +void ArgumentParser::parseArgs(int argc, const char *const *argv) { IF_DEBUG_BUILD(verifyArgs(m_mainArgs);) m_actualArgc = 0; @@ -431,7 +431,7 @@ void ApplicationUtilities::ArgumentParser::verifyArgs(const ArgumentVector &args * \brief Reads the specified commands line arguments. * \remarks Results are stored in Argument instances added as main arguments and sub arguments. */ -void ArgumentParser::readSpecifiedArgs(ArgumentVector &args, std::size_t &index, const char **&argv, const char **end, unsigned int level) +void ArgumentParser::readSpecifiedArgs(ArgumentVector &args, std::size_t &index, const char *const *&argv, const char *const *end, unsigned int level) { enum ArgumentDenotationType : unsigned char { Value = 0, // parameter value diff --git a/application/argumentparser.h b/application/argumentparser.h index 03b3caf..46e5e6c 100644 --- a/application/argumentparser.h +++ b/application/argumentparser.h @@ -519,8 +519,7 @@ public: void printHelp(std::ostream &os) const; Argument *findArg(const ArgumentPredicate &predicate) const; static Argument *findArg(const ArgumentVector &arguments, const ArgumentPredicate &predicate); - void parseArgs(int argc, char *argv[]); - void parseArgs(int argc, const char *argv[]); + void parseArgs(int argc, const char *const *argv); unsigned int actualArgumentCount() const; const char *executable() const; bool areUnknownArgumentsIgnored() const; @@ -530,7 +529,7 @@ public: private: IF_DEBUG_BUILD(void verifyArgs(const ArgumentVector &args);) - void readSpecifiedArgs(ArgumentVector &args, std::size_t &index, const char **&argv, const char **end, unsigned int level = 0); + void readSpecifiedArgs(ArgumentVector &args, std::size_t &index, const char *const *&argv, const char *const *end, unsigned int level = 0); void checkConstraints(const ArgumentVector &args); void invokeCallbacks(const ArgumentVector &args); @@ -550,14 +549,6 @@ inline const ArgumentVector &ArgumentParser::mainArguments() const return m_mainArgs; } -/*! - * \brief Parses the specified command line arguments. - */ -inline void ArgumentParser::parseArgs(int argc, char *argv[]) -{ - parseArgs(argc, const_cast(argv)); -} - /*! * \brief Returns the actual number of arguments that could be found when parsing. */