***************************************************************************/
NTSTATUS print_fsp_open(connection_struct *conn, const char *fname,
- files_struct *fsp)
+ files_struct *fsp, SMB_STRUCT_STAT *psbuf)
{
int jobid;
- SMB_STRUCT_STAT sbuf;
fstring name;
NTSTATUS status;
fsp->is_directory = False;
string_set(&fsp->fsp_name,print_job_fname(lp_const_servicename(SNUM(conn)),jobid));
fsp->wcp = NULL;
- SMB_VFS_FSTAT(fsp, &sbuf);
- fsp->mode = sbuf.st_mode;
- fsp->file_id = vfs_file_id_from_sbuf(conn, &sbuf);
+ SMB_VFS_FSTAT(fsp, psbuf);
+ fsp->mode = psbuf->st_mode;
+ fsp->file_id = vfs_file_id_from_sbuf(conn, psbuf);
return NT_STATUS_OK;
}
DEBUG(10, ("open_file_ntcreate: printer open fname=%s\n", fname));
- return print_fsp_open(conn, fname, fsp);
+ return print_fsp_open(conn, fname, fsp, psbuf);
}
if (!parent_dirname_talloc(talloc_tos(), fname, &parent_dir,
connection_struct *conn = req->conn;
files_struct *fsp;
NTSTATUS status;
+ SMB_STRUCT_STAT sbuf;
START_PROFILE(SMBsplopen);
}
/* Open for exclusive use, write only. */
- status = print_fsp_open(conn, NULL, fsp);
+ status = print_fsp_open(conn, NULL, fsp, &sbuf);
if (!NT_STATUS_IS_OK(status)) {
file_free(fsp);