X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fcmdline.cc;h=cbe8ff9a53ea70754cf7c8aa6f98c3a666c68576;hb=8c44ea2a34b6cedf545fd07a568bddad74e9b69e;hp=fd9e510ded50c12ca26f30eae018a9d85e460a42;hpb=2502dd7301613f0c8e278b10df139bb412fad928;p=awesomized%2Flibmemcached diff --git a/libtest/cmdline.cc b/libtest/cmdline.cc index fd9e510d..cbe8ff9a 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) { @@ -783,7 +787,7 @@ void Application::create_argv(const char *args[]) vchar::append(built_argv, *ptr); } } - built_argv.push_back(NULL); + built_argv.push_back(nullptr); } std::string Application::print()