mirror of
https://github.com/openharmony/third_party_cups.git
synced 2026-08-26 11:29:23 -04:00
2b161c76b4
Signed-off-by: liuwenfeng <bluecodeman@outlook.com>
63 lines
2.6 KiB
Diff
63 lines
2.6 KiB
Diff
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
|
|
index 1252437..8443f65 100644
|
|
--- a/scheduler/ipp.c
|
|
+++ b/scheduler/ipp.c
|
|
@@ -8796,12 +8796,11 @@ print_job(cupsd_client_t *con, /* I - Client connection */
|
|
|
|
if (!filetype)
|
|
filetype = mimeType(MimeDatabase, super, type);
|
|
-
|
|
- cupsdLogMessage(CUPSD_LOG_INFO, "[Job ???] Request file type is %s/%s.",
|
|
- filetype->super, filetype->type);
|
|
-
|
|
- snprintf(mimetype, sizeof(mimetype), "%s/%s", filetype->super, filetype->type);
|
|
- ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE, "document-format-detected", NULL, mimetype);
|
|
+ if (filetype) {
|
|
+ cupsdLogMessage(CUPSD_LOG_INFO, "[Job ???] Request file type is %s/%s.", filetype->super, filetype->type);
|
|
+ snprintf(mimetype, sizeof(mimetype), "%s/%s", filetype->super, filetype->type);
|
|
+ ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE, "document-format-detected", NULL, mimetype);
|
|
+ }
|
|
}
|
|
else
|
|
filetype = mimeType(MimeDatabase, super, type);
|
|
@@ -10047,13 +10046,11 @@ send_document(cupsd_client_t *con, /* I - Client connection */
|
|
|
|
if (!filetype)
|
|
filetype = mimeType(MimeDatabase, super, type);
|
|
-
|
|
- if (filetype)
|
|
- cupsdLogJob(job, CUPSD_LOG_DEBUG, "Request file type is %s/%s.",
|
|
- filetype->super, filetype->type);
|
|
-
|
|
- snprintf(mimetype, sizeof(mimetype), "%s/%s", filetype->super, filetype->type);
|
|
- ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_MIMETYPE, "document-format-detected", NULL, mimetype);
|
|
+ if (filetype) {
|
|
+ cupsdLogJob(job, CUPSD_LOG_DEBUG, "Request file type is %s/%s.", filetype->super, filetype->type);
|
|
+ snprintf(mimetype, sizeof(mimetype), "%s/%s", filetype->super, filetype->type);
|
|
+ ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_MIMETYPE, "document-format-detected", NULL, mimetype);
|
|
+ }
|
|
}
|
|
else
|
|
filetype = mimeType(MimeDatabase, super, type);
|
|
diff --git a/scheduler/job.c b/scheduler/job.c
|
|
index c4e058e..041476c 100644
|
|
--- a/scheduler/job.c
|
|
+++ b/scheduler/job.c
|
|
@@ -2248,9 +2248,14 @@ cupsdSaveAllJobs(void)
|
|
cupsFilePrintf(fp, "DestType %d\n", job->dtype);
|
|
cupsFilePrintf(fp, "KOctets %d\n", job->koctets);
|
|
cupsFilePrintf(fp, "NumFiles %d\n", job->num_files);
|
|
- for (i = 0; i < job->num_files; i ++)
|
|
+ for (i = 0; i < job->num_files; i ++) {
|
|
+ if (job->filetypes == NULL || job->filetypes[i] == NULL) {
|
|
+ cupsdLogMessage(CUPSD_LOG_WARN, "find empty filetypes: %d", i);
|
|
+ continue;
|
|
+ }
|
|
cupsFilePrintf(fp, "File %d %s/%s %d\n", i + 1, job->filetypes[i]->super,
|
|
job->filetypes[i]->type, job->compressions[i]);
|
|
+ }
|
|
cupsFilePuts(fp, "</Job>\n");
|
|
}
|
|
|
|
--
|