summaryrefslogtreecommitdiff
path: root/yaffs_vfs_multi.c
diff options
context:
space:
mode:
authorCharles Manning <cdhmanning@gmail.com>2010-10-27 15:15:00 +1300
committerCharles Manning <cdhmanning@gmail.com>2010-10-27 15:15:00 +1300
commit9bdabdaa8467f3f56359598434e0f6f254c100e9 (patch)
tree1c525926e1ec859ffc784b158aeafd2e110d3cd8 /yaffs_vfs_multi.c
parenta5bab2056ca3c68d3e15568f81a6e1d697d23da5 (diff)
yaffs: Fix some 64-bit issues
Not previously compiling cleanly for 64-bit. Signed-off-by: Charles Manning <cdhmanning@gmail.com>
Diffstat (limited to 'yaffs_vfs_multi.c')
-rw-r--r--yaffs_vfs_multi.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/yaffs_vfs_multi.c b/yaffs_vfs_multi.c
index d6c25b5..3bd5aea 100644
--- a/yaffs_vfs_multi.c
+++ b/yaffs_vfs_multi.c
@@ -730,12 +730,15 @@ static int yaffs_readlink(struct dentry *dentry, char __user *buffer,
#if (YAFFS_NEW_FOLLOW_LINK == 1)
static void *yaffs_follow_link(struct dentry *dentry, struct nameidata *nd)
+{
+ void *ret;
#else
static int yaffs_follow_link(struct dentry *dentry, struct nameidata *nd)
-#endif
{
+ int ret
+#endif
unsigned char *alias;
- int ret;
+ int ret_int = 0;
yaffs_dev_t *dev = yaffs_dentry_to_obj(dentry)->my_dev;
yaffs_gross_lock(dev);
@@ -744,19 +747,23 @@ static int yaffs_follow_link(struct dentry *dentry, struct nameidata *nd)
yaffs_gross_unlock(dev);
if (!alias) {
- ret = -ENOMEM;
+ ret_int = -ENOMEM;
goto out;
}
#if (YAFFS_NEW_FOLLOW_LINK == 1)
nd_set_link(nd, alias);
- ret = (int)alias;
+ ret = alias;
out:
- return ERR_PTR(ret);
+ if(ret_int)
+ ret = ERR_PTR(ret_int);
+ return ret;
#else
ret = vfs_follow_link(nd, alias);
kfree(alias);
out:
+ if(ret_int)
+ ret = ret_int;
return ret;
#endif
}