summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_symlink.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-12-31 10:56:05 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-01-27 06:54:22 +0100
commitcf36b70e8dd8755e7dac6eb516169f586e78566d (patch)
tree97200818ec5dfeaa4e137a572fcbb4db746842b1 /cpukit/libfs/src/imfs/imfs_symlink.c
parentuser/conf.t: Fix typo (diff)
downloadrtems-cf36b70e8dd8755e7dac6eb516169f586e78566d.tar.bz2
IMFS: Replace node union with individual struct
This reduces the average node size. Add and use IMFS_GENERIC_INITIALIZER().
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_symlink.c')
-rw-r--r--cpukit/libfs/src/imfs/imfs_symlink.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_symlink.c b/cpukit/libfs/src/imfs/imfs_symlink.c
index 003b379c14..963cefcd77 100644
--- a/cpukit/libfs/src/imfs/imfs_symlink.c
+++ b/cpukit/libfs/src/imfs/imfs_symlink.c
@@ -30,14 +30,14 @@ int IMFS_symlink(
const char *target
)
{
- IMFS_types_union info;
- IMFS_jnode_t *new_node;
+ char *dup_target;
+ IMFS_jnode_t *new_node;
/*
* Duplicate link name
*/
- info.sym_link.name = strdup(target);
- if (info.sym_link.name == NULL) {
+ dup_target = strdup(target);
+ if (dup_target == NULL) {
rtems_set_errno_and_return_minus_one(ENOMEM);
}
@@ -50,11 +50,11 @@ int IMFS_symlink(
name,
namelen,
( S_IFLNK | ( S_IRWXU | S_IRWXG | S_IRWXO )),
- &info
+ dup_target
);
if (new_node == NULL) {
- free(info.sym_link.name);
+ free(dup_target);
rtems_set_errno_and_return_minus_one(ENOMEM);
}