summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-01-08 15:36:33 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:16:58 -0500
commitd10af0222623c3c76b19fe872adb6de1eeac6e1c (patch)
tree7107fde341be72495aa28540b8dda453c708b02a /source3/smbd/reply.c
parent283c690e6efd9b51d63786fac089d7230a3d16ca (diff)
downloadsamba-d10af0222623c3c76b19fe872adb6de1eeac6e1c.tar.gz
samba-d10af0222623c3c76b19fe872adb6de1eeac6e1c.tar.bz2
samba-d10af0222623c3c76b19fe872adb6de1eeac6e1c.zip
r20612: A checkin I've wanted to do for ages: For bad_path==False set_bad_path_error
is equivalent to UNIX_ERROR. Expand the last reference. Lets see if I can kill that as well :-) Volker (This used to be commit 794d5d38f19601bb5b30b965b41b844aacf1caeb)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 63a1889390..ac0663d238 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -948,8 +948,7 @@ int reply_getatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
if (!ok) {
END_PROFILE(SMBgetatr);
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadfile);
+ return UNIXERROR(ERRDOS, ERRbadfile);
}
outsize = set_message(outbuf,10,0,True);
@@ -1024,15 +1023,13 @@ int reply_setatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
if (file_set_dosmode(conn,fname,mode,&sbuf,False) != 0) {
END_PROFILE(SMBsetatr);
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS, ERRnoaccess);
+ return UNIXERROR(ERRDOS, ERRnoaccess);
}
}
if (!set_filetime(conn,fname,mtime)) {
END_PROFILE(SMBsetatr);
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS, ERRnoaccess);
+ return UNIXERROR(ERRDOS, ERRnoaccess);
}
outsize = set_message(outbuf,0,0,False);
@@ -1212,7 +1209,10 @@ int reply_search(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
if (dptr_num < 0) {
if(dptr_num == -2) {
END_PROFILE(SMBsearch);
- return set_bad_path_error(errno, bad_path, outbuf, ERRDOS, ERRnofids);
+ if ((errno == ENOENT) && bad_path) {
+ return ERROR_NT(NT_STATUS_OBJECT_PATH_NOT_FOUND);
+ }
+ return UNIXERROR(ERRDOS, ERRnofids);
}
END_PROFILE(SMBsearch);
return ERROR_DOS(ERRDOS,ERRnofids);
@@ -4007,8 +4007,7 @@ int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
if (!ok) {
END_PROFILE(SMBrmdir);
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS, ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
outsize = set_message(outbuf,0,0,False);