- {
- size_t bufsize;
- void *buf = filter->prepare_read (&bufsize, filter->private_data);
- if (!(buf != NULL && bufsize > 0))
- /* prepare_read returned wrong values. */
- abort ();
- {
- ssize_t nread =
- read (filter->fd[0], buf,
- bufsize > SSIZE_MAX ? SSIZE_MAX : bufsize);
- if (nread < 0)
- {
- if (!IS_EAGAIN (errno))
- {
- if (filter->exit_on_error)
- error (EXIT_FAILURE, errno,
- _("read from %s subprocess failed"),
- filter->progname);
- filter->reader_errno = errno;
- filter->reader_terminated = true;
- break;
- }
- }
- else if (nread > 0)
- filter->done_read (buf, nread, filter->private_data);
- else /* nread == 0 */
- {
- filter->reader_terminated = true;
- if (done_writing)
- break;
- }
- }
+ {
+ size_t bufsize;
+ void *buf = filter->prepare_read (&bufsize, filter->private_data);
+ if (!(buf != NULL && bufsize > 0))
+ /* prepare_read returned wrong values. */
+ abort ();
+ {
+ ssize_t nread =
+ read (filter->fd[0], buf,
+ bufsize > SSIZE_MAX ? SSIZE_MAX : bufsize);
+ if (nread < 0)
+ {
+ if (!IS_EAGAIN (errno))
+ {
+ if (filter->exit_on_error)
+ error (EXIT_FAILURE, errno,
+ _("read from %s subprocess failed"),
+ filter->progname);
+ filter->reader_errno = errno;
+ filter->reader_terminated = true;
+ break;
+ }
+ }
+ else if (nread > 0)
+ filter->done_read (buf, nread, filter->private_data);
+ else /* nread == 0 */
+ {
+ filter->reader_terminated = true;
+ if (done_writing)
+ break;
+ }
+ }