forked from Imagelibrary/rtems
Patch from Chris Johns <cjohns@cybertec.com.au> to add support for
stat()'ing a symbolic link. This is needed to support the port of the BSD commands like ls to RTEMS.
This commit is contained in:
@@ -20,18 +20,18 @@
|
||||
*/
|
||||
|
||||
rtems_filesystem_file_handlers_r IMFS_link_handlers = {
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
NULL, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
IMFS_stat, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
IMFS_rmnod
|
||||
};
|
||||
|
||||
@@ -39,6 +39,10 @@ int IMFS_stat(
|
||||
buf->st_size = the_jnode->info.file.size;
|
||||
break;
|
||||
|
||||
case IMFS_SYM_LINK:
|
||||
buf->st_size = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
set_errno_and_return_minus_one( ENOTSUP );
|
||||
break;
|
||||
|
||||
@@ -20,18 +20,18 @@
|
||||
*/
|
||||
|
||||
rtems_filesystem_file_handlers_r IMFS_link_handlers = {
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
NULL, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
IMFS_stat, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
IMFS_rmnod
|
||||
};
|
||||
|
||||
@@ -39,6 +39,10 @@ int IMFS_stat(
|
||||
buf->st_size = the_jnode->info.file.size;
|
||||
break;
|
||||
|
||||
case IMFS_SYM_LINK:
|
||||
buf->st_size = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
set_errno_and_return_minus_one( ENOTSUP );
|
||||
break;
|
||||
|
||||
@@ -20,18 +20,18 @@
|
||||
*/
|
||||
|
||||
rtems_filesystem_file_handlers_r IMFS_link_handlers = {
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
NULL, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
IMFS_stat, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
IMFS_rmnod
|
||||
};
|
||||
|
||||
@@ -39,6 +39,10 @@ int IMFS_stat(
|
||||
buf->st_size = the_jnode->info.file.size;
|
||||
break;
|
||||
|
||||
case IMFS_SYM_LINK:
|
||||
buf->st_size = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
set_errno_and_return_minus_one( ENOTSUP );
|
||||
break;
|
||||
|
||||
@@ -20,18 +20,18 @@
|
||||
*/
|
||||
|
||||
rtems_filesystem_file_handlers_r IMFS_link_handlers = {
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
NULL, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
NULL, /* open */
|
||||
NULL, /* close */
|
||||
NULL, /* read */
|
||||
NULL, /* write */
|
||||
NULL, /* ioctl */
|
||||
NULL, /* lseek */
|
||||
IMFS_stat, /* stat */
|
||||
NULL, /* fchmod */
|
||||
NULL, /* ftruncate */
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL, /* fcntl */
|
||||
IMFS_rmnod
|
||||
};
|
||||
|
||||
@@ -39,6 +39,10 @@ int IMFS_stat(
|
||||
buf->st_size = the_jnode->info.file.size;
|
||||
break;
|
||||
|
||||
case IMFS_SYM_LINK:
|
||||
buf->st_size = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
set_errno_and_return_minus_one( ENOTSUP );
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user