summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/run_filter.cxx18
1 files changed, 11 insertions, 7 deletions
diff --git a/test/run_filter.cxx b/test/run_filter.cxx
index dd85b6fd0..805751943 100644
--- a/test/run_filter.cxx
+++ b/test/run_filter.cxx
@@ -69,6 +69,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)
{
@@ -152,13 +162,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 */