diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-09-25 15:25:50 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-09-25 15:25:50 +0200 |
commit | cdc67ad0cf1e102568396b0649dd18ea1223d785 (patch) | |
tree | eecdcef69fdb95eab4eed9ef9943fc54e8a8d530 | |
parent | 110de28be0b09ed8d2b445769a59ea66c07c83d7 (diff) |
Ignore empty cwd in process
-rw-r--r-- | butl/process | 3 | ||||
-rw-r--r-- | butl/process.cxx | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/butl/process b/butl/process index bb77684..bbd0162 100644 --- a/butl/process +++ b/butl/process @@ -60,7 +60,8 @@ namespace butl process (char const* const args[], process& in, int out = 1, int err = 2); // Versions of the above constructors that allow us to change the - // current working directory of the child process. + // current working directory of the child process. NULL and empty + // cwd arguments are ignored. // process (const char* cwd, char const* const[], int = 0, int = 1, int = 2); process (const char* cwd, char const* const[], process&, int = 1, int = 2); diff --git a/butl/process.cxx b/butl/process.cxx index 3556fd9..66a831e 100644 --- a/butl/process.cxx +++ b/butl/process.cxx @@ -76,7 +76,7 @@ namespace butl // Change current working directory if requested. // - if (cwd != nullptr && chdir (cwd) != 0) + if (cwd != nullptr && *cwd != '\0' && chdir (cwd) != 0) throw process_error (errno, true); if (execvp (args[0], const_cast<char**> (&args[0])) == -1) |