On 19 June 2017 at 11:46, Alex Bennée <[email protected]> wrote:
> Trace files can get quite large so it would be useful to be able to
> just capture the trace stream with stdin/stdout for processing in a
> pipe line. The sort of case where this is useful is for building
> static binaries where zlib support is missing for whatever reason.
>
> It can also be used in testing pipelines.
>
> Signed-off-by: Alex Bennée <[email protected]>
> ---
> risu.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/risu.c b/risu.c
> index 93c274b..e94b54b 100644
> --- a/risu.c
> +++ b/risu.c
> @@ -312,7 +312,11 @@ int main(int argc, char **argv)
>
> if (ismaster) {
> if (trace) {
> - master_fd = open(trace_fn, O_WRONLY|O_CREAT, S_IRWXU);
> + if (strncmp(trace_fn, "-", strlen(trace_fn))==0) {
Why not just strcmp() ?
> + master_fd = fileno(stdout);
= STDOUT_FILENO;
> + } else {
> + master_fd = open(trace_fn, O_WRONLY|O_CREAT, S_IRWXU);
> + }
> } else {
> fprintf(stderr, "master port %d\n", port);
> master_fd = master_connect(port);
> @@ -320,7 +324,11 @@ int main(int argc, char **argv)
> return master();
> } else {
> if (trace) {
> - apprentice_fd = open(trace_fn, O_RDONLY);
> + if (strncmp(trace_fn, "-", strlen(trace_fn))==0) {
> + apprentice_fd = fileno(stdin);
= STDIN_FILENO;
> + } else {
> + apprentice_fd = open(trace_fn, O_RDONLY);
> + }
> } else {
> fprintf(stderr, "apprentice host %s port %d\n", hostname, port);
> apprentice_fd = apprentice_connect(hostname, port);
> --
> 2.13.0
>
thanks
-- PMM