You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have encountered a driverless printer that includes staple in the finishings-supported attribute, but doesn't have any of the other staple-XXX values. The PPD generated by cupsd doesn't contain any of the *StapleLocation or *cupsIPPFinishings keywords that normally get generated for other printers.
Taking a look at the section starting at cups/ppd-cache.c:4517, it seems like this is supposed to work by mapping through the SingleAuto keyword. But the two checks on lines 4553 and 4600 only match values that start with staple-, so the bare staple value never gets handled. Locally patching in a check for strcmp("staple") makes things behave the way I would expect and also looks similar to the checks done for other finishings later in the same file, but I'm not sure if I might be missing something here.
Is the bare staple value supposed to work when the other staple-XXX values aren't present? I couldn't find anything in the IPP Finishings doc saying it shouldn't, but finishings has been covered in enough different places that I don't have confidence I read everything relevant. If it is supposed to work, do you want me to send a quick PR to add the missing value to the checks?
The same issue might apply to a bare bind value based on the similar pattern in the same checks.
I've attached an ippserver config captured from this printer in case you want to look through the whole set of attributes. HL-L6415DW.conf.txt
The text was updated successfully, but these errors were encountered:
In the generated PPD, IPP finishings "bind" is supposed to map to
"StapleLocation: BindAuto". Similarly, "staple" is supposed to map to
"StapleLocation: SingleAuto". The code already handles this, except
the lookup is blocked by a check that only accepts "staple-*" and
"bind-*" prefixed versions. Fix this by adding the bare versions to the
existing checks.
Fixes issue OpenPrinting#1073.
I have encountered a driverless printer that includes
staple
in thefinishings-supported
attribute, but doesn't have any of the otherstaple-XXX
values. The PPD generated by cupsd doesn't contain any of the*StapleLocation
or*cupsIPPFinishings
keywords that normally get generated for other printers.Taking a look at the section starting at cups/ppd-cache.c:4517, it seems like this is supposed to work by mapping through the
SingleAuto
keyword. But the two checks on lines 4553 and 4600 only match values that start withstaple-
, so the barestaple
value never gets handled. Locally patching in a check forstrcmp("staple")
makes things behave the way I would expect and also looks similar to the checks done for other finishings later in the same file, but I'm not sure if I might be missing something here.Is the bare
staple
value supposed to work when the otherstaple-XXX
values aren't present? I couldn't find anything in the IPP Finishings doc saying it shouldn't, but finishings has been covered in enough different places that I don't have confidence I read everything relevant. If it is supposed to work, do you want me to send a quick PR to add the missing value to the checks?The same issue might apply to a bare
bind
value based on the similar pattern in the same checks.I've attached an ippserver config captured from this printer in case you want to look through the whole set of attributes.
HL-L6415DW.conf.txt
The text was updated successfully, but these errors were encountered: