smbd: Add fsp_fullbasepath
authorVolker Lendecke <vl@samba.org>
Mon, 13 Jun 2016 14:12:54 +0000 (16:12 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 20 Jul 2016 03:21:06 +0000 (05:21 +0200)
Okay, this is similar to full_path_tos, but with variable arrays now and much
simpler :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/files.c
source3/smbd/proto.h

index a3cce138e02b3688b6abfcae29d0a1f4d99e50df..f211c17f5e9e63ab9142f9cd0bf1faf4d578d547 100644 (file)
@@ -780,3 +780,14 @@ uint32_t fsp_lease_type(struct files_struct *fsp)
        }
        return map_oplock_to_lease_type(fsp->oplock_type);
 }
+
+size_t fsp_fullbasepath(struct files_struct *fsp, char *buf, size_t buflen)
+{
+       int len;
+
+       len = snprintf(buf, buflen, "%s/%s", fsp->conn->connectpath,
+                      fsp->fsp_name->base_name);
+       SMB_ASSERT(len>0);
+
+       return len;
+}
index 86fafe591070d7ea175d72def7b5fe90b1cb4948..764673cf7f2a6076e83ad332153af15ef5dd6cb3 100644 (file)
@@ -412,6 +412,7 @@ NTSTATUS fsp_set_smb_fname(struct files_struct *fsp,
                           const struct smb_filename *smb_fname_in);
 const struct GUID *fsp_client_guid(const files_struct *fsp);
 uint32_t fsp_lease_type(struct files_struct *fsp);
+size_t fsp_fullbasepath(struct files_struct *fsp, char *buf, size_t buflen);
 
 /* The following definitions come from smbd/ipc.c  */