summaryrefslogtreecommitdiff
path: root/source4/smbd/reply.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/smbd/reply.c')
-rw-r--r--source4/smbd/reply.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/source4/smbd/reply.c b/source4/smbd/reply.c
index bc9a3b6a06..f4dd4cb50a 100644
--- a/source4/smbd/reply.c
+++ b/source4/smbd/reply.c
@@ -1600,20 +1600,21 @@ void reply_rmdir(struct request_context *req)
****************************************************************************/
void reply_mv(struct request_context *req)
{
- struct smb_rename *io;
+ union smb_rename *io;
char *p;
/* parse the request */
REQ_CHECK_WCT(req, 1);
REQ_TALLOC(io, sizeof(*io));
- io->in.attrib = SVAL(req->in.vwv, VWV(0));
+ io->generic.level = RAW_RENAME_RENAME;
+ io->rename.in.attrib = SVAL(req->in.vwv, VWV(0));
p = req->in.data;
- p += req_pull_ascii4(req, &io->in.pattern1, p, STR_TERMINATE);
- p += req_pull_ascii4(req, &io->in.pattern2, p, STR_TERMINATE);
+ p += req_pull_ascii4(req, &io->rename.in.pattern1, p, STR_TERMINATE);
+ p += req_pull_ascii4(req, &io->rename.in.pattern2, p, STR_TERMINATE);
- if (!io->in.pattern1 || !io->in.pattern2) {
+ if (!io->rename.in.pattern1 || !io->rename.in.pattern2) {
req_reply_error(req, NT_STATUS_FOOBAR);
return;
}