static NTSTATUS cmd_pathfunc(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv)
{
+ struct smb_filename *smb_fname = NULL;
int ret = -1;
if (argc != 2) {
return NT_STATUS_OK;
}
- if (strcmp("rmdir", argv[0]) == 0 ) {
- ret = SMB_VFS_RMDIR(vfs->conn, argv[1]);
- } else if (strcmp("unlink", argv[0]) == 0 ) {
- struct smb_filename *smb_fname;
+ smb_fname = synthetic_smb_fname(talloc_tos(),
+ argv[1],
+ NULL,
+ NULL);
- smb_fname = synthetic_smb_fname_split(mem_ctx, argv[1], NULL);
- if (smb_fname == NULL) {
- return NT_STATUS_NO_MEMORY;
- }
+ if (smb_fname == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+ if (strcmp("rmdir", argv[0]) == 0 ) {
+ ret = SMB_VFS_RMDIR(vfs->conn, smb_fname);
+ TALLOC_FREE(smb_fname);
+ } else if (strcmp("unlink", argv[0]) == 0 ) {
ret = SMB_VFS_UNLINK(vfs->conn, smb_fname);
TALLOC_FREE(smb_fname);
} else if (strcmp("chdir", argv[0]) == 0 ) {