]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Fix logging of printer URI (STR #4658)
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 2 Jul 2015 17:53:47 +0000 (17:53 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 2 Jul 2015 17:53:47 +0000 (17:53 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@12774 a1ca3aef-8c08-0410-bb20-df032aa958be

CHANGES.txt
scheduler/log.c

index c160c450c3ef793af136e39a34d7e4b3bec2a68a..ac1547bbe1758ffc5f2dfc06724dee81f52a769a 100644 (file)
@@ -5,7 +5,7 @@ CHANGES IN CUPS V2.1b2
 
        - Added support for 3D printers (basic types only, no built-in filters)
          based on PWG white paper.
-       - Fixed a bug in the journald support (STR #4655)
+       - Fixed bugs in the new journald support (STR #4655, STR #4658)
 
 
 CHANGES IN CUPS V2.1b1
index b7dff704f09731fdffce4cd3ed4409ef33108c56..19e850c96403ff89beb4d25bc644f6a22a424a8d 100644 (file)
@@ -595,6 +595,7 @@ cupsdLogJob(cupsd_job_t *job,               /* I - Job */
     asl_object_t       m;              /* Log message */
     char               job_id[32],     /* job-id string */
                        completed[32];  /* job-impressions-completed string */
+    cupsd_printer_t *printer = job->printer ? job->printer : cupsdFindDest(job->dest);
     static const char * const job_states[] =
     {                                  /* job-state strings */
       "Pending",
@@ -611,7 +612,7 @@ cupsdLogJob(cupsd_job_t *job,               /* I - Job */
     m = asl_new(ASL_TYPE_MSG);
     asl_set(m, ASL_KEY_FACILITY, "org.cups.cupsd");
     asl_set(m, PWG_Event, "JobStateChanged");
-    asl_set(m, PWG_ServiceURI, job->printer->uri);
+    asl_set(m, PWG_ServiceURI, printer->uri);
     asl_set(m, PWG_JobID, job_id);
     asl_set(m, PWG_JobState, job_states[job->state_value - IPP_JSTATE_PENDING]);
 
@@ -632,6 +633,7 @@ cupsdLogJob(cupsd_job_t *job,               /* I - Job */
 #elif defined(HAVE_SYSTEMD_SD_JOURNAL_H)
   if (!strcmp(ErrorLog, "syslog"))
   {
+    cupsd_printer_t *printer = job->printer ? job->printer : cupsdFindDest(job->dest);
     static const char * const job_states[] =
     {                                  /* job-state strings */
       "Pending",
@@ -658,7 +660,7 @@ cupsdLogJob(cupsd_job_t *job,               /* I - Job */
     sd_journal_send("MESSAGE=%s", log_line,
                     "PRIORITY=%i", log_levels[level],
                    PWG_Event"=JobStateChanged",
-                   PWG_ServiceURI"=%s", job->printer->uri,
+                   PWG_ServiceURI"=%s", printer->uri,
                    PWG_JobID"=%d", job->id,
                    PWG_JobState"=%s", job_states[job->state_value - IPP_JSTATE_PENDING],
                    PWG_JobImpressionsCompleted"=%d", ippGetInteger(job->impressions, 0),
@@ -887,7 +889,7 @@ cupsdLogPage(cupsd_job_t *job,              /* I - Job being printed */
            break;
 
         case 'p' :                     /* Printer name */
-           strlcpy(bufptr, job->printer->name, sizeof(buffer) - (size_t)(bufptr - buffer));
+           strlcpy(bufptr, job->dest, sizeof(buffer) - (size_t)(bufptr - buffer));
            bufptr += strlen(bufptr);
            break;