summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/readlink.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/readlink.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/readlink.c')
-rw-r--r--cpukit/libcsupport/src/readlink.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/cpukit/libcsupport/src/readlink.c b/cpukit/libcsupport/src/readlink.c
index 2f7423f69e..6ca7488543 100644
--- a/cpukit/libcsupport/src/readlink.c
+++ b/cpukit/libcsupport/src/readlink.c
@@ -31,27 +31,23 @@ int readlink(
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_SYM_LINK ){
- if ( loc.ops->freenod )
- (*loc.ops->freenod)( &loc );
+ rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( EINVAL );
}
if ( !loc.ops->readlink ){
- if ( loc.ops->freenod )
- (*loc.ops->freenod)( &loc );
+ rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( ENOTSUP );
}
result = (*loc.ops->readlink)( &loc, buf, bufsize );
- if ( loc.ops->freenod )
- (*loc.ops->freenod)( &loc );
+ rtems_filesystem_freenode( &loc );
return result;
}