summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/printing/printing.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/source/printing/printing.c b/source/printing/printing.c
index 241ed97283e..c32d3cf4cb6 100644
--- a/source/printing/printing.c
+++ b/source/printing/printing.c
@@ -918,7 +918,19 @@ int print_job_start(struct current_user *user, int snum, char *jobname)
goto next_jobnum;
}
pjob.fd = sys_open(pjob.filename,O_WRONLY|O_CREAT|O_EXCL,0600);
- if (pjob.fd == -1) goto fail;
+
+ if (pjob.fd == -1) {
+ if (errno == EACCES) {
+ /* Common setup error, force a report. */
+ DEBUG(0, ("print_job_start: insufficient permissions \
+to open spool file %s.\n", pjob.filename));
+ } else {
+ /* Normal case, report at level 3 and above. */
+ DEBUG(3, ("print_job_start: can't open spool file %s,\n", pjob.filename));
+ DEBUGADD(3, ("errno = %d (%s).\n", errno, strerror(errno)));
+ }
+ goto fail;
+ }
print_job_store(jobid, &pjob);