netpbm/netpbm-multipage-pam.patch

26 lines
982 B
Diff

diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c
index 24dc7df..e393931 100644
--- a/converter/other/pnmtops.c
+++ b/converter/other/pnmtops.c
@@ -1909,6 +1909,7 @@ convertPage(FILE * const ifP,
/* The file stream which is the head of the filter chain; we write to
this and filtered stuff comes out the other end.
*/
+ FILE * filterChainOfP;
pnm_readpaminit(ifP, &inpam, PAM_STRUCT_SIZE(tuple_type));
@@ -1951,7 +1952,11 @@ convertPage(FILE * const ifP,
initOutputEncoder(&oe, inpam.width, bitsPerSample,
rle, flate, ascii85, psFilter);
- spawnFilters(stdout, &oe, &feedFileP, filterPidList);
+ fflush(stdout);
+ filterChainOfP = fdopen(dup(fileno(stdout)), "w");
+ /* spawnFilters() closes this. See FILE MANAGEMENT above */
+
+ spawnFilters(filterChainOfP, &oe, &feedFileP, filterPidList);
convertRaster(&inpam, bitsPerSample, psFilter, feedFileP);