In the fork for running the pstops() filter function do notdo a file
descriptor redirection detour via stdin. pstops() accepts an input
file descriptor directly.
This made the pstops() filter not getting the job data when pdftops()
used Poppler's pdftops utility as PostScript interpreter when
pdftops() is called by the universal() filter function.
* Child comes here...
*/
- dup2(pstops_pipe[0], 0);
- close(pstops_pipe[0]);
close(pstops_pipe[1]);
if (need_post_proc)
{
close(post_proc_pipe[1]);
}
- ret = pstops(0, outputfd, 0, &pstops_filter_data, NULL);
+ ret = pstops(pstops_pipe[0], outputfd, 0, &pstops_filter_data, NULL);
+ close(pstops_pipe[0]);
if (ret && log) log(ld, FILTER_LOGLEVEL_ERROR,
"pdftops: pstops filter function failed.");