diff -up cups-1.5rc1/scheduler/job.c.str3880 cups-1.5rc1/scheduler/job.c
--- cups-1.5rc1/scheduler/job.c.str3880 2011-07-20 13:25:04.830715537 +0100
+++ cups-1.5rc1/scheduler/job.c 2011-07-20 13:25:33.637200511 +0100
@@ -1407,17 +1407,22 @@ 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);
- if (Classification)
- cupsdRemoveFile(filename);
- else
- unlink(filename);
+ while (job->num_files > 0)
+ {
+ snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
+ job->id, job->num_files);
+ if (Classification)
+ cupsdRemoveFile(filename);
+ else
+ unlink(filename);
- job->num_files --;
+ job->num_files --;
+ }
}
+ else
+ job->num_files = 0;
}
if (job->history)