Blob Blame History Raw
diff -up cups-1.4.7/scheduler/job.c.str3880 cups-1.4.7/scheduler/job.c
--- cups-1.4.7/scheduler/job.c.str3880	2011-07-20 13:19:38.280543190 +0100
+++ cups-1.4.7/scheduler/job.c	2011-07-20 13:20:01.691126073 +0100
@@ -291,7 +291,7 @@ cupsdCheckJobs(void)
 
     if (job->kill_time && job->kill_time <= curtime)
     {
-      cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Stopping unresponsive job!", 
+      cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Stopping unresponsive job!",
 		      job->id);
 
       stop_job(job, CUPSD_JOB_FORCE);
@@ -1338,14 +1338,19 @@ cupsdDeleteJob(cupsd_job_t       *job,	/
     free(job->compressions);
     free(job->filetypes);
 
-    while (job->num_files > 0)
+    if (action == CUPSD_JOB_PURGE)
     {
-      snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
-	       job->id, job->num_files);
-      unlink(filename);
+      while (job->num_files > 0)
+      {
+	snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
+		 job->id, job->num_files);
+	unlink(filename);
 
-      job->num_files --;
+	job->num_files --;
+      }
     }
+    else
+      job->num_files = 0;
   }
 
   if (job->history)
@@ -3224,7 +3229,7 @@ get_options(cupsd_job_t *job,		/* I - Jo
 				 IPP_TAG_ZERO)) != NULL &&
 	(attr->value_tag == IPP_TAG_KEYWORD ||
 	 attr->value_tag == IPP_TAG_NAME) &&
-	(ppd = _pwgGetOutputBin(pwg, attr->values[0].string.text)) != NULL) 
+	(ppd = _pwgGetOutputBin(pwg, attr->values[0].string.text)) != NULL)
     {
      /*
       * Map output-bin to OutputBin option...