From: Nadav Har'El <[email protected]>
Committer: Nadav Har'El <[email protected]>
Branch: master

osv::run const correctness

The variant of osv::run which takes argv does not need the strings or
their array to be writable, since it copies them into an std::vector
anyway, so we can take a const char* const* instead of a char**.

Also fix non-const string warnings in tst-run.cc.

Signed-off-by: Nadav Har'El <[email protected]>

---
diff --git a/core/run.cc b/core/run.cc
--- a/core/run.cc
+++ b/core/run.cc
@@ -16,7 +16,7 @@ std::shared_ptr<osv::application> run(std::string path,
 }

 std::shared_ptr<osv::application> run(std::string path,
-                                 int argc, char** argv, int *return_code)
+ int argc, const char* const* argv, int *return_code)
 {
     std::vector<std::string> args;
     for (int i = 0; i < argc; i++) {
diff --git a/include/osv/run.hh b/include/osv/run.hh
--- a/include/osv/run.hh
+++ b/include/osv/run.hh
@@ -78,7 +78,7 @@ namespace osv {
  * \return \c shared pointer to the application
  */
 std::shared_ptr<osv::application> run(std::string path,
- int argc, char** argv, int *return_code); + int argc, const char* const* argv, int *return_code);

 /**
  * Run the given executable.
diff --git a/tests/tst-run.cc b/tests/tst-run.cc
--- a/tests/tst-run.cc
+++ b/tests/tst-run.cc
@@ -31,7 +31,7 @@ int main(int ac, char** av)
     }

// See that I can run myself (with a special argument to stop the recursion)
-    char *child_args[] = {"/tests/tst-run.so", ""};
+    const char *child_args[] = {"/tests/tst-run.so", ""};
     int ret;
     bool b = (bool)osv::run("/tests/tst-run.so", 2, child_args, &ret);
     report(b == true, "Run myself");

--
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to