Fix: const-fied the argv parameter in order to suppress the string to char* conversio...
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sat, 18 Feb 2012 00:38:01 +0000 (22:38 -0200)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sat, 18 Feb 2012 00:42:12 +0000 (22:42 -0200)
- This also protects the string from modification.

src/config/configurationcommandline.cpp
src/config/configurationcommandline.h
src/config/configurationreader.cpp
src/config/configurationreader.h
src/main.cpp
test/test_configurationcommandline.cpp

index a00e97e..4bb46ce 100644 (file)
@@ -47,7 +47,7 @@ using I2n::Logger::GlobalLogger;
  */
 ConfigurationCommandLine::ConfigurationCommandLine(
         const int _argc,
-        char **_argv
+        const char **_argv
 ) :
     argc( _argc ),
     argv( _argv ) // TODO perform a deep copy, not swallow
index 4e911db..c2db9f2 100644 (file)
@@ -35,7 +35,7 @@
 class ConfigurationCommandLine : public ConfigurationInterface
 {
 public:
-    ConfigurationCommandLine( const int _argc, char **_argv );
+    ConfigurationCommandLine( const int _argc, const char **_argv );
     ConfigurationCommandLine( const ConfigurationCommandLine &other );
     virtual ~ConfigurationCommandLine();
 
@@ -50,7 +50,7 @@ public:
 
 private:
     int argc;
-    char **argv;
+    const char **argv;
 
 };
 
index 14cb985..2273449 100644 (file)
@@ -64,7 +64,7 @@ ConfigurationReader::~ConfigurationReader()
  */
 bool ConfigurationReader::parse(
         const int argc,
-        char *argv[]
+        const char *argv[]
 )
 {
     BOOST_ASSERT( argc > 0 );
index c3e6296..755d455 100644 (file)
@@ -39,7 +39,7 @@ public:
 
     bool parse(
             const int argc,
-            char *argv[]
+            const char *argv[]
     );
     Configuration get_configuration() const;
 
index 0e6bc97..2dd0eef 100644 (file)
@@ -49,7 +49,7 @@ using I2n::Logger::GlobalLogger;
 // TODO: Change back to Notice log level
 const int default_log_level = I2n::Logger::LogLevel::Info;
 
-ConfigurationItem get_configuration(int, char**);
+ConfigurationItem get_configuration(int, const char**);
 LinkStatusItem get_status_notifier(const ConfigurationItem&);
 void init_logger();
 void init_pingers(const ConfigurationItem&, const LinkStatusItem&, PingSchedulerList*);
@@ -64,7 +64,7 @@ void handle_signals();
 
 ConfigurationItem get_configuration(
         int argc,
-        char *argv[]
+        const char *argv[]
 )
 {
     ConfigurationItem configuration;
@@ -238,7 +238,7 @@ void handle_signals()
     }
 }
 
-int main( int argc, char *argv[] )
+int main( int argc, const char *argv[] )
 {
     // Block all signals before creating any threads
     block_all_signals();
index 25dc474..127e781 100644 (file)
@@ -33,7 +33,7 @@ BOOST_AUTO_TEST_SUITE( TestConfigurationCommandLine )
 BOOST_AUTO_TEST_CASE( normal_options )
 {
     const int argc = 18;
-    char *argv[argc] = {
+    const char *argv[argc] = {
         "./pingcheck",
         "--daemon",
         "--config-file=conf/config_file.conf",
@@ -90,7 +90,7 @@ BOOST_AUTO_TEST_CASE( normal_options )
 
 BOOST_AUTO_TEST_CASE( version_option )
 {
-    char *argv[2] = { "./pingcheck", "--version" };
+    const char *argv[2] = { "./pingcheck", "--version" };
     const int argc = 2;
     boost::program_options::variables_map vm;
     Configuration config;
@@ -106,7 +106,7 @@ BOOST_AUTO_TEST_CASE( version_option )
 
 BOOST_AUTO_TEST_CASE( help_option )
 {
-    char *argv[2] = { "./pingcheck", "--help" };
+    const char *argv[2] = { "./pingcheck", "--help" };
     const int argc = 2;
     boost::program_options::variables_map vm;
     Configuration config;