Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use boost::lexical_cast instead of xbt_str_parse_* in C++ files.
[simgrid.git] / src / mc / remote / AppSide.cpp
index aabac00..bfadbcb 100644 (file)
@@ -20,6 +20,7 @@
 #include "xbt/str.h"
 #include <simgrid/modelchecker.h>
 
+#include <boost/lexical_cast.hpp>
 #include <cerrno>
 #include <cinttypes>
 #include <cstdio> // setvbuf
@@ -56,7 +57,12 @@ AppSide* AppSide::get()
 
   // Fetch socket from MC_ENV_SOCKET_FD:
   const char* fd_env = std::getenv(MC_ENV_SOCKET_FD);
-  int fd             = xbt_str_parse_int(fd_env, "Not a number in variable '" MC_ENV_SOCKET_FD "'");
+  int fd;
+  try {
+    fd = boost::lexical_cast<int>(fd_env);
+  } catch (boost::bad_lexical_cast const&) {
+    xbt_die("Not a number in variable '%s': %s", MC_ENV_SOCKET_FD, fd_env);
+  }
   XBT_DEBUG("Model-checked application found socket FD %i", fd);
 
   instance_ = std::make_unique<simgrid::mc::AppSide>(fd);