src = (mime_type_t *)cupsArrayGetElement(c->srcs, i);
if (!strcmp(src->super, "printer"))
+ {
+ if (level < 4)
+ {
+ // Add filters that can convert to this type...
+ srcs = mime_get_filter_types(mime, src, srcs, level + 1);
+ }
+
continue;
+ }
if (!cupsArrayFind(srcs, src))
{
}
else
{
+ ipp_tag_t group; /* Current group tag */
+
cupsdLogPrinter(printer, CUPSD_LOG_ERROR, "PPD creation failed: %s", cupsGetErrorString());
/* Force printer to timeout and be deleted */
cupsRWUnlock(&printer->lock);
send_ipp_status(con, IPP_STATUS_ERROR_DEVICE, _("Unable to create PPD: %s"), cupsGetErrorString());
+
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "Printer attributes:");
+
+ for (group = IPP_TAG_ZERO, attr = ippFirstAttribute(response); attr; attr = ippNextAttribute(response))
+ {
+ const char *name; /* Attribute name */
+ char value[1024]; /* Attribute value */
+
+ if (group != ippGetGroupTag(attr))
+ {
+ group = ippGetGroupTag(attr);
+ if (group != IPP_TAG_ZERO)
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "%s", ippTagString(group));
+ }
+
+ if ((name = ippGetName(attr)) == NULL)
+ continue;
+
+ ippAttributeString(attr, value, sizeof(value));
+
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "%s %s%s '%s'", name, ippGetCount(attr) > 1 ? "1setOf " : "", ippTagString(ippGetValueTag(attr)), value);
+ }
+
+ cupsdLogClient(con, CUPSD_LOG_DEBUG, "end-of-attributes-tag");
+
goto finish_response;
}
* Otherwise, get the list of supported source types...
*/
+ cupsdLogPrinter(p, CUPSD_LOG_DEBUG2, "add_printer_formats: filetype=%s/%s", p->filetype ? p->filetype->super : "null", p->filetype ? p->filetype->type : "null");
+
p->filetypes = mimeGetFilterTypes(MimeDatabase, p->filetype, NULL);
if ((type = mimeType(MimeDatabase, "application", "pdf")) != NULL && cupsArrayFind(p->filetypes, type))