void type_dir___followinode (char *command_line) { long inode_offset; char buffer [80]; struct ext2_dir_entry_2 *dir_entry_ptr; low_read (file_info.buffer,file_system_info.block_size,file_info.global_block_offset); dir_entry_ptr=(struct ext2_dir_entry_2 *) (file_info.buffer+file_info.dir_entry_offset); inode_offset=inode_num_to_inode_offset (dir_entry_ptr->inode); /* Compute the inode's offset */ sprintf (buffer,"setoffset %ld",inode_offset);dispatch (buffer); /* Move to it */ sprintf (buffer,"settype ext2_inode");dispatch (buffer); /* and set the type to an inode */ }
void type_dir___followinode (char *command_line) /* Here we pass to the inode pointed by the current entry. It involves computing the device offset of the inode and using directly the setoffset and settype commands. */ { long inode_offset; char buffer [80]; struct ext2_dir_entry_2 *dir_entry_ptr; low_read (file_info.buffer,file_system_info.block_size,file_info.global_block_offset); dir_entry_ptr=(struct ext2_dir_entry_2 *) (file_info.buffer+file_info.dir_entry_offset); inode_offset=inode_num_to_inode_offset (dir_entry_ptr->inode); /* Compute the inode's offset */ sprintf (buffer,"setoffset %ld",inode_offset);dispatch (buffer); /* Move to it */ sprintf (buffer,"settype ext2_inode");dispatch (buffer); /* and set the type to an inode */ }