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 + + 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 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 + + 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 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; }