diff options
author | Jeremy Allison <jra@samba.org> | 2006-07-11 18:01:26 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:19:14 -0500 |
commit | fbdcf2663b56007a438ac4f0d8d82436b1bfe688 (patch) | |
tree | 4e42c1f061391cea3d640152fd240682cbf4fd9a /source3/torture/cmd_vfs.c | |
parent | 5bf62a0c3cc95abe918f3e772bb10e0a90fdce22 (diff) | |
download | samba-fbdcf2663b56007a438ac4f0d8d82436b1bfe688.tar.gz samba-fbdcf2663b56007a438ac4f0d8d82436b1bfe688.tar.bz2 samba-fbdcf2663b56007a438ac4f0d8d82436b1bfe688.zip |
r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....
Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
Diffstat (limited to 'source3/torture/cmd_vfs.c')
-rw-r--r-- | source3/torture/cmd_vfs.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/source3/torture/cmd_vfs.c b/source3/torture/cmd_vfs.c index cc683977e8..6cecd693f8 100644 --- a/source3/torture/cmd_vfs.c +++ b/source3/torture/cmd_vfs.c @@ -94,7 +94,7 @@ static NTSTATUS cmd_show_data(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int ar static NTSTATUS cmd_connect(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv) { - SMB_VFS_CONNECT(vfs->conn, lp_servicename(vfs->conn->service), "vfstest"); + SMB_VFS_CONNECT(vfs->conn, lp_servicename(SNUM(vfs->conn)), "vfstest"); return NT_STATUS_OK; } @@ -200,9 +200,10 @@ static NTSTATUS cmd_closedir(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int arg static NTSTATUS cmd_open(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv) { - int flags, fd; + int flags; mode_t mode; const char *flagstr; + files_struct *fsp; mode = 00400; @@ -278,18 +279,21 @@ static NTSTATUS cmd_open(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c } } - fd = SMB_VFS_OPEN(vfs->conn, argv[1], flags, mode); - if (fd == -1) { + fsp = SMB_MALLOC_P(struct files_struct); + fsp->fsp_name = SMB_STRDUP(argv[1]); + fsp->fh = SMB_MALLOC_P(struct fd_handle); + fsp->conn = vfs->conn; + + fsp->fh->fd = SMB_VFS_OPEN(vfs->conn, argv[1], fsp, flags, mode); + if (fsp->fh->fd == -1) { printf("open: error=%d (%s)\n", errno, strerror(errno)); + SAFE_FREE(fsp->fh); + SAFE_FREE(fsp); return NT_STATUS_UNSUCCESSFUL; } - vfs->files[fd] = SMB_MALLOC_P(struct files_struct); - vfs->files[fd]->fsp_name = SMB_STRDUP(argv[1]); - vfs->files[fd]->fh = SMB_MALLOC_P(struct fd_handle); - vfs->files[fd]->fh->fd = fd; - vfs->files[fd]->conn = vfs->conn; - printf("open: fd=%d\n", fd); + vfs->files[fsp->fh->fd] = fsp; + printf("open: fd=%d\n", fsp->fh->fd); return NT_STATUS_OK; } |