summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/unlink.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-12 19:10:46 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-12 19:10:46 +0000
commitdd0f32614ceb0dd72f406d8434acdecc5ccff616 (patch)
tree3620ac014837a178fc91eac4b54b7b2e5ceb5c41 /cpukit/libcsupport/src/unlink.c
parentFixed spacing. (diff)
downloadrtems-dd0f32614ceb0dd72f406d8434acdecc5ccff616.tar.bz2
Added rtems_filesystem_freenode() macro and added calls at appropriate
places to make sure memory allocated for filesystem specifif nodes gets freed.
Diffstat (limited to 'cpukit/libcsupport/src/unlink.c')
-rw-r--r--cpukit/libcsupport/src/unlink.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/cpukit/libcsupport/src/unlink.c b/cpukit/libcsupport/src/unlink.c
index b4374e53c9..9e9f2c0e08 100644
--- a/cpukit/libcsupport/src/unlink.c
+++ b/cpukit/libcsupport/src/unlink.c
@@ -32,27 +32,23 @@ int unlink(
return -1;
if ( !loc.ops->node_type ) {
- if ( loc.ops->freenod )
- (*loc.ops->freenod)( &loc );
+ rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( ENOTSUP );
}
if ( (*loc.ops->node_type)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY ) {
- if ( loc.ops->freenod )
- (*loc.ops->freenod)( &loc );
+ rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( EISDIR );
}
if ( !loc.ops->unlink ) {
- if ( loc.ops->freenod )
- (*loc.ops->freenod)( &loc );
+ rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( ENOTSUP );
}
result = (*loc.ops->unlink)( &loc );
- if ( loc.ops->freenod )
- (*loc.ops->freenod)( &loc );
+ rtems_filesystem_freenode( &loc );
return result;
}