From d10af0222623c3c76b19fe872adb6de1eeac6e1c Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 8 Jan 2007 15:36:33 +0000 Subject: 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) --- source3/smbd/reply.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'source3/smbd/reply.c') 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); -- cgit