Fix valgrind call from when parser dinks with getenv
[m6w6/libmemcached] / libtest / main.cc
index 6721b5aa14c32363a80eec88d26540c1cb9f089d..6bffa84cf86688a6be22fa55fcd47153375287f4 100644 (file)
@@ -220,22 +220,22 @@ int main(int argc, char *argv[])
     is_massive(opt_massive);
   }
 
-  char buffer[1024];
+  char tmp_directory[1024];
   if (getenv("LIBTEST_TMP"))
   {
-    snprintf(buffer, sizeof(buffer), "%s", getenv("LIBTEST_TMP"));
+    snprintf(tmp_directory, sizeof(tmp_directory), "%s", getenv("LIBTEST_TMP"));
   }
   else
   {
-    snprintf(buffer, sizeof(buffer), "%s", LIBTEST_TEMP);
+    snprintf(tmp_directory, sizeof(tmp_directory), "%s", LIBTEST_TEMP);
   }
 
-  if (chdir(buffer) == -1)
+  if (chdir(tmp_directory) == -1)
   {
     char getcwd_buffer[1024];
     char *dir= getcwd(getcwd_buffer, sizeof(getcwd_buffer));
 
-    Error << "Unable to chdir() from " << dir << " to " << buffer << " errno:" << strerror(errno);
+    Error << "Unable to chdir() from " << dir << " to " << tmp_directory << " errno:" << strerror(errno);
     return EXIT_FAILURE;
   }
 
@@ -329,10 +329,7 @@ int main(int argc, char *argv[])
 
       std::ofstream xml_file;
       std::string file_name;
-      if (getenv("LIBTEST_TEMP"))
-      {
-        file_name.append(getenv("LIBTEST_TEMP"));
-      }
+      file_name.append(tmp_directory);
       file_name.append(frame->name());
       file_name.append(".xml");
       xml_file.open(file_name.c_str(), std::ios::trunc);
@@ -346,6 +343,11 @@ int main(int argc, char *argv[])
     std::cerr << "FATAL:" << e.what() << std::endl;
     exit_code= EXIT_FAILURE;
   }
+  catch (libtest::start& e)
+  {
+    std::cerr << "Failure to start:" << e.what() << std::endl;
+    exit_code= EXIT_FAILURE;
+  }
   catch (libtest::disconnected& e)
   {
     std::cerr << "Unhandled disconnection occurred:" << e.what() << std::endl;