summaryrefslogtreecommitdiffstats
path: root/source3/lib/util.c
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1997-08-20 20:32:23 +0000
committerSamba Release Account <samba-bugs@samba.org>1997-08-20 20:32:23 +0000
commit46dbd8c06009ad9e64251ae844fb16f2a30f5ab7 (patch)
treeb3665c4cdda6e60c2e85218f6778213817b4210f /source3/lib/util.c
parentc76dc7c2963d1205cf46849df6b6f0edbf63692d (diff)
downloadsamba-46dbd8c06009ad9e64251ae844fb16f2a30f5ab7.tar.gz
samba-46dbd8c06009ad9e64251ae844fb16f2a30f5ab7.tar.xz
samba-46dbd8c06009ad9e64251ae844fb16f2a30f5ab7.zip
Changes to allow Samba to return the same error code as Windows NT.
Takes care of the cases where a Windows program is parsing a pathname component by component and expects 2 different errors. ERRbadpath - if a component in the path doesn't exist. ERRbaddirectory - if a component in the path exists but is not a directory. Extra error code added to smb.h to support this. Code based on suggestions from "Christian Groessler" <chris@fast-ag.de>. Jeremy (jallison@whistle.com) (This used to be commit 28b3c6db8a81b41b448a4f3cd98e9cd2c4b5fb2e)
Diffstat (limited to 'source3/lib/util.c')
-rw-r--r--source3/lib/util.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index ca17fbdcb4..a048c8b3a7 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -755,12 +755,17 @@ time_t file_modtime(char *fname)
BOOL directory_exist(char *dname,struct stat *st)
{
struct stat st2;
+ BOOL ret;
+
if (!st) st = &st2;
if (sys_stat(dname,st) != 0)
return(False);
- return(S_ISDIR(st->st_mode));
+ ret = S_ISDIR(st->st_mode);
+ if(!ret)
+ errno = ENOTDIR;
+ return ret;
}
/*******************************************************************