From c76dc7c2963d1205cf46849df6b6f0edbf63692d Mon Sep 17 00:00:00 2001 From: Samba Release Account Date: Wed, 20 Aug 1997 01:22:05 +0000 Subject: Fix suggested by "Christian Groessler" dir.c: Cause dptr_create to return -2 when failing on unix error. reply.c: Use UNIXERROR in more cases. server.c: Add ENOTDIR mapping to error table. trans2.c: Correctly determine UNIX error on dptr_create. Jeremy (jallison@whistle.com) (This used to be commit de38a0b34fcd65fa3024300f978aa30eb86d854f) --- source3/smbd/reply.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'source3/smbd/reply.c') diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 0216b58c34..f630e71e25 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -546,7 +546,7 @@ int reply_chkpth(char *inbuf,char *outbuf) ok = directory_exist(name,NULL); if (!ok) - return(ERROR(ERRDOS,ERRbadpath)); + return(UNIXERROR(ERRDOS,ERRbadpath)); outsize = set_message(outbuf,0,0,True); @@ -825,7 +825,11 @@ int reply_search(char *inbuf,char *outbuf) { dptr_num = dptr_create(cnum,directory,expect_close,SVAL(inbuf,smb_pid)); if (dptr_num < 0) - return(ERROR(ERRDOS,ERRnofids)); + { + if(dptr_num == -2) + return (UNIXERROR(ERRDOS,ERRnofids)); + return(ERROR(ERRDOS,ERRnofids)); + } } DEBUG(4,("dptr_num is %d\n",dptr_num)); -- cgit