diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2006-01-31 17:43:37 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2006-01-31 17:43:37 +0300 |
commit | 735229ff4ff9eae6f1412fd21f18e9189060024f (patch) | |
tree | 2f1ce7a68b971c0e2be023999ffa6ef05a4a3494 /winsup | |
parent | 82cac98f3eb00f33900cc0be235c89ee94f776ae (diff) |
* path.cc (cwdstuff::set): When SetCurrentDirectory returns
ERROR_INVALID_FUNCTION, bend it over to ERROR_FILE_NOT_FOUND. Add
comment to explain why.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 12 | ||||
-rw-r--r-- | winsup/cygwin/path.cc | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 596b05ab3..505a6b700 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,15 @@ +2006-01-31 Corinna Vinschen <corinna@vinschen.de> + + * path.cc (cwdstuff::set): When SetCurrentDirectory returns + ERROR_INVALID_FUNCTION, bend it over to ERROR_FILE_NOT_FOUND. Add + comment to explain why. + +2006-01-31 Corinna Vinschen <corinna@vinschen.de> + + * dir.cc (readdir_worker): Add comment about writing old 32 bit d_ino. + * include/cygwin/version.h: Bump API minor number to 152. + (CYGWIN_VERSION_CHECK_FOR_NEEDS_D_INO): Remove. + 2006-01-30 Corinna Vinschen <corinna@vinschen.de> * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Simplify diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index a141c06fd..73ea90831 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -3975,6 +3975,10 @@ cwdstuff::set (const char *win32_cwd, const char *posix_cwd, bool doit) cwd_lock.acquire (); if (doit && !SetCurrentDirectory (win32_cwd)) { + /* When calling SetCurrentDirectory for a non-existant dir on a + Win9x share, it returns ERROR_INVALID_FUNCTION. */ + if (GetLastError () == ERROR_INVALID_FUNCTION) + SetLastError (ERROR_FILE_NOT_FOUND); __seterrno (); goto out; } |