From 25dff2b7dbab54bd97b5ec22a05e594504555a12 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 15 Mar 2017 14:40:47 +0100 Subject: runProgram(): Distinguish between empty input and no input For example, if we call brotli with an empty input, it shouldn't read from the caller's stdin. --- src/libutil/util.hh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/libutil/util.hh') diff --git a/src/libutil/util.hh b/src/libutil/util.hh index b74c1d41739a..4e3a011b349c 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -14,6 +14,7 @@ #include #include #include +#include #ifndef HAVE_STRUCT_DIRENT_D_TYPE #define DT_UNKNOWN 0 @@ -232,7 +233,8 @@ pid_t startProcess(std::function fun, const ProcessOptions & options = P /* Run a program and return its stdout in a string (i.e., like the shell backtick operator). */ string runProgram(Path program, bool searchPath = false, - const Strings & args = Strings(), const string & input = ""); + const Strings & args = Strings(), + const std::experimental::optional & input = {}); class ExecError : public Error { -- cgit 1.4.1