phunix/minix/fs/isofs/link.c
David van Moolenbroek c2f99d7c3a isofs: rename source directory to "isofs"
Change-Id: Ibe630f720b4399e7ebbbd850650036fbaa9cec7b
2014-09-18 13:00:57 +00:00

25 lines
484 B
C

#include "inc.h"
ssize_t fs_rdlink(ino_t ino_nr, struct fsdriver_data *data, size_t bytes)
{
struct inode *i_node;
size_t len;
int r;
/* Try to get inode according to its index */
if ((i_node = find_inode(ino_nr)) == NULL)
return EINVAL; /* no inode found */
if (!S_ISLNK(i_node->i_stat.st_mode))
return EACCES;
len = strlen(i_node->s_link);
if (len > bytes)
len = bytes;
if ((r = fsdriver_copyout(data, 0, i_node->s_link, len)) != OK)
return r;
return len;
}