X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fcmdline.cc;h=29a22de657df8f823b50bd7c60d2011c723e3b49;hb=f00605dce4a482c8b19ef17c0e79c31238498522;hp=1423eca6ceb51f2ff47ba03234563d5db516f379;hpb=9d762a9c58fd0cfdd529002bf2b0ab6b2aaea2c3;p=awesomized%2Flibmemcached diff --git a/libtest/cmdline.cc b/libtest/cmdline.cc index 1423eca6..29a22de6 100644 --- a/libtest/cmdline.cc +++ b/libtest/cmdline.cc @@ -59,6 +59,7 @@ using namespace libtest; #include #include +#include #ifndef __USE_GNU static char **environ= NULL; @@ -78,7 +79,10 @@ namespace { iter != built_argv.end(); ++iter) { - arg_buffer << *iter << " "; + if (*iter) + { + arg_buffer << *iter << " "; + } } return arg_buffer.str(); @@ -358,7 +362,7 @@ bool Application::slurp() int error; switch ((error= errno)) { -#ifdef TARGET_OS_LINUX +#ifdef __linux case ERESTART: #endif case EINTR: @@ -408,7 +412,7 @@ bool Application::slurp() Application::error_t Application::join() { - pid_t waited_pid= waitpid(_pid, &_status, 0); + pid_t waited_pid= waitpid(_pid, &_status, WUNTRACED); slurp(); if (waited_pid == _pid and WIFEXITED(_status) == false) { @@ -481,7 +485,7 @@ Application::error_t Application::join() } else if (waited_pid == -1) { - std::string error_string + std::string error_string; if (stdout_result_length()) { error_string+= " stdout: ";