From 1d332746afd2bb62c49d96409fff9487bbb7cb97 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 25 Mar 2019 08:58:45 +0100 Subject: [PATCH] test/run_filter: move code to WriteOrThrow() --- test/run_filter.cxx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/test/run_filter.cxx b/test/run_filter.cxx index 7402f6838..481400e97 100644 --- a/test/run_filter.cxx +++ b/test/run_filter.cxx @@ -70,6 +70,16 @@ ReadOrThrow(FileDescriptor fd, void *buffer, size_t size) return nbytes; } +static size_t +WriteOrThrow(FileDescriptor fd, const void *buffer, size_t size) +{ + auto nbytes = fd.Write(buffer, size); + if (nbytes < 0) + throw MakeErrno("Write failed"); + + return nbytes; +} + static void FullRead(FileDescriptor fd, void *_buffer, size_t size) { @@ -153,13 +163,7 @@ try { break; auto dest = filter->FilterPCM({(const void *)buffer, (size_t)nbytes}); - - nbytes = output_fd.Write(dest.data, dest.size); - if (nbytes < 0) { - fprintf(stderr, "Failed to write: %s\n", - strerror(errno)); - return 1; - } + WriteOrThrow(output_fd, dest.data, dest.size); } /* cleanup and exit */