using System.Collections.Generic;
using System.Diagnostics;
namespace Semmle.Util
{
public static class ProcessStartInfoExtensions
{
///
/// Runs this process, and returns the exit code, as well as the contents
/// of stdout in .
///
public static int ReadOutput(this ProcessStartInfo pi, out IList stdout)
{
stdout = new List();
using (var process = Process.Start(pi))
{
string s;
do
{
s = process.StandardOutput.ReadLine();
if (s != null) stdout.Add(s);
}
while (s != null);
process.WaitForExit();
return process.ExitCode;
}
}
}
}