summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2005-08-17 19:17:37 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2005-08-17 19:17:37 +0000
commit5978038f779693b2c9f3558c79217664f84c7b2d (patch)
tree23de5c67f44a0926b806d6992fb2c4284e260834
parent2005-08-12 Chris Johns <chrisj@rtems.org> (diff)
downloadrtems-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/ChangeLog8
-rw-r--r--cpukit/libcsupport/src/unlink.c2
-rw-r--r--cpukit/libfs/ChangeLog8
-rw-r--r--cpukit/libfs/src/dosfs/msdos_eval.c4
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;
}