summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/printing/printfsp.c14
-rw-r--r--source3/smbd/open.c2
-rw-r--r--source3/smbd/reply.c2
3 files changed, 14 insertions, 4 deletions
diff --git a/source3/printing/printfsp.c b/source3/printing/printfsp.c
index 322deadf0f..ea50f43d2e 100644
--- a/source3/printing/printfsp.c
+++ b/source3/printing/printfsp.c
@@ -27,17 +27,27 @@ open a print file and setup a fsp for it. This is a wrapper around
print_job_start().
***************************************************************************/
-files_struct *print_fsp_open(connection_struct *conn)
+files_struct *print_fsp_open(connection_struct *conn, char *fname)
{
int jobid;
SMB_STRUCT_STAT sbuf;
extern struct current_user current_user;
files_struct *fsp = file_new(conn);
+ fstring name;
if(!fsp)
return NULL;
- jobid = print_job_start(&current_user, SNUM(conn), "smb.prn");
+ fstrcpy( name, "Remote Downlevel Document");
+ if (fname) {
+ char *p = strrchr(fname, '/');
+ fstrcat(name, " ");
+ if (!p)
+ p = fname;
+ fstrcat(name, p);
+ }
+
+ jobid = print_job_start(&current_user, SNUM(conn), name);
if (jobid == -1) {
file_free(fsp);
return NULL;
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 589f1a32b4..6a6e22353b 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -632,7 +632,7 @@ files_struct *open_file_shared(connection_struct *conn,char *fname, SMB_STRUCT_S
ignored */
*Access = DOS_OPEN_WRONLY;
*action = FILE_WAS_CREATED;
- return print_fsp_open(conn);
+ return print_fsp_open(conn, fname);
}
fsp = file_new(conn);
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 03d0c18942..3233168ffc 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -2504,7 +2504,7 @@ int reply_printopen(connection_struct *conn,
}
/* Open for exclusive use, write only. */
- fsp = print_fsp_open(conn);
+ fsp = print_fsp_open(conn, NULL);
if (!fsp) {
END_PROFILE(SMBsplopen);