diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-08-17 19:17:37 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-08-17 19:17:37 +0000 |
commit | 5978038f779693b2c9f3558c79217664f84c7b2d (patch) | |
tree | 23de5c67f44a0926b806d6992fb2c4284e260834 | |
parent | 2005-08-12 Chris Johns <chrisj@rtems.org> (diff) | |
download | rtems-5978038f779693b2c9f3558c79217664f84c7b2d.tar.bz2 |
2005-08-17 Nickolay Semyonov <snob@oktetlabs.ru>
PR 744/filesystem
* libcsupport/src/unlink.c, libfs/src/dosfs/msdos_eval.c: DOSFS did not
support permissions on directories so the check performed by unlink
would always fail. The unlink code was modified to support a not
supported status being returned.
-rw-r--r-- | cpukit/libcsupport/ChangeLog | 8 | ||||
-rw-r--r-- | cpukit/libcsupport/src/unlink.c | 2 | ||||
-rw-r--r-- | cpukit/libfs/ChangeLog | 8 | ||||
-rw-r--r-- | cpukit/libfs/src/dosfs/msdos_eval.c | 4 |
4 files changed, 19 insertions, 3 deletions
diff --git a/cpukit/libcsupport/ChangeLog b/cpukit/libcsupport/ChangeLog index 4f196b2706..f0a91cc3b5 100644 --- a/cpukit/libcsupport/ChangeLog +++ b/cpukit/libcsupport/ChangeLog @@ -1,3 +1,11 @@ +2005-08-17 Nickolay Semyonov <snob@oktetlabs.ru> + + PR 744/filesystem + * libcsupport/src/unlink.c, libfs/src/dosfs/msdos_eval.c: DOSFS did not + support permissions on directories so the check performed by unlink + would always fail. The unlink code was modified to support a not + supported status being returned. + 2005-08-12 Chris Johns <chrisj@rtems.org> PR 808/rtems_misc diff --git a/cpukit/libcsupport/src/unlink.c b/cpukit/libcsupport/src/unlink.c index 95f2b064a1..ff455f56ae 100644 --- a/cpukit/libcsupport/src/unlink.c +++ b/cpukit/libcsupport/src/unlink.c @@ -36,7 +36,7 @@ int unlink( return -1; result = rtems_filesystem_evaluate_parent(RTEMS_LIBIO_PERMS_WRITE, &loc ); - if (result != 0){ + if (result != 0 && errno != ENOTSUP) { rtems_filesystem_freenode( &loc ); return -1; } diff --git a/cpukit/libfs/ChangeLog b/cpukit/libfs/ChangeLog index 608ee80b0b..2100a0ea7a 100644 --- a/cpukit/libfs/ChangeLog +++ b/cpukit/libfs/ChangeLog @@ -1,3 +1,11 @@ +2005-08-17 Nickolay Semyonov <snob@oktetlabs.ru> + + PR 744/filesystem + * libcsupport/src/unlink.c, libfs/src/dosfs/msdos_eval.c: DOSFS did not + support permissions on directories so the check performed by unlink + would always fail. The unlink code was modified to support a not + supported status being returned. + 2003-10-22 Thomas Doerfler <Thomas.Doerfler@imd-systems.de> PR 515/filesystem diff --git a/cpukit/libfs/src/dosfs/msdos_eval.c b/cpukit/libfs/src/dosfs/msdos_eval.c index 3cd07f7b84..8f16249af8 100644 --- a/cpukit/libfs/src/dosfs/msdos_eval.c +++ b/cpukit/libfs/src/dosfs/msdos_eval.c @@ -119,7 +119,7 @@ msdos_eval_path( */ if (fat_fd->fat_file_type != FAT_DIRECTORY) { - errno = ENOTDIR; + errno = ENOTSUP; rc = -1; goto error; } @@ -174,7 +174,7 @@ msdos_eval_path( */ if (fat_fd->fat_file_type != FAT_DIRECTORY) { - errno = ENOTDIR; + errno = ENOTSUP; rc = -1; goto error; } |