diff options
author | Charles Manning <cdhmanning@gmail.com> | 2010-10-27 15:15:00 +1300 |
---|---|---|
committer | Charles Manning <cdhmanning@gmail.com> | 2010-10-27 15:15:00 +1300 |
commit | 9bdabdaa8467f3f56359598434e0f6f254c100e9 (patch) | |
tree | 1c525926e1ec859ffc784b158aeafd2e110d3cd8 /yaffs_vfs_multi.c | |
parent | a5bab2056ca3c68d3e15568f81a6e1d697d23da5 (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.c | 17 |
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 } |