OpenPrinting / cups

OpenPrinting CUPS Sources
https://openprinting.github.io/cups
Apache License 2.0
958 stars 174 forks source link

May produce N*N or N*N*N copies #919

Closed psz2036 closed 3 months ago

psz2036 commented 3 months ago

CUPS may invoke several filters, and a backend, for each print job. Each of those sub-processes may handle ManualCopies and num_copies requested, and this may result in N*N or N*N*N copies produced. Looking in source file scheduler/job.c all those filter and backend sub-processes are invoked with the same argument list, which contains the num_copies requested.

Cheers, Paul

Paul Szabo psz@maths.usyd.edu.au www.maths.usyd.edu.au/u/psz School of Mathematics and Statistics University of Sydney Australia

michaelrsweet commented 3 months ago

Whether copies are handled or not depends on the filter and the destination MIME media type. cupsd doesn't know which filters will do what processing, so it MUST provide the number of copies to all of the filters and the backend.

psz2036 commented 3 months ago

You say that cupsd is in charge of deciding which filters to invoke, but must not care what they do? Then they must duplicate code, second-guessing what any other filters may possibly do.