+ /* Detect 'file_info->size': */
+ if (file_info->type==GNOME_VFS_FILE_TYPE_REGULAR) {
+ntfs_inode *inode;
+
+ inode=ntfs_inode_open(libntfs_directory->inode->vol,mref);
+ /* FIXME: Check failed 'inode' open. */
+ if (inode) {
+ntfs_attr *attr;
+int errint;
+
+ attr=ntfs_attr_open(
+ inode, /* ni */
+ AT_DATA, /* type */
+ NULL, /* name */
+ 0); /* name_len */
+ /* FIXME: Check failed 'attr' open. */
+ if (attr) {
+ file_info->size=attr->data_size; /* FIXME: Is 'data_size' the right field? */
+ file_info->valid_fields|=GNOME_VFS_FILE_INFO_FIELDS_SIZE;
+ ntfs_attr_close(attr);
+ }
+ errint=ntfs_inode_close(inode);
+ /* FIXME: Check 'errint'. */
+ }
+ }
+