forked from Bananymous/banan-os
				
			Kernel: Fix TmpSymlinkInode target getting/setting
This commit is contained in:
		
							parent
							
								
									0e8a68831c
								
							
						
					
					
						commit
						bac06e45a4
					
				|  | @ -118,10 +118,9 @@ namespace Kernel | ||||||
| 		static BAN::ErrorOr<BAN::RefPtr<TmpSymlinkInode>> create_new(TmpFileSystem&, mode_t, uid_t, gid_t, BAN::StringView target); | 		static BAN::ErrorOr<BAN::RefPtr<TmpSymlinkInode>> create_new(TmpFileSystem&, mode_t, uid_t, gid_t, BAN::StringView target); | ||||||
| 		~TmpSymlinkInode(); | 		~TmpSymlinkInode(); | ||||||
| 
 | 
 | ||||||
| 		BAN::ErrorOr<void> set_link_target(BAN::StringView); |  | ||||||
| 
 |  | ||||||
| 	protected: | 	protected: | ||||||
| 		virtual BAN::ErrorOr<BAN::String> link_target_impl() override; | 		BAN::ErrorOr<BAN::String> link_target_impl() override; | ||||||
|  | 		BAN::ErrorOr<void> set_link_target_impl(BAN::StringView) override; | ||||||
| 
 | 
 | ||||||
| 		virtual bool can_read_impl() const override { return false; } | 		virtual bool can_read_impl() const override { return false; } | ||||||
| 		virtual bool can_write_impl() const override { return false; } | 		virtual bool can_write_impl() const override { return false; } | ||||||
|  |  | ||||||
|  | @ -295,7 +295,7 @@ namespace Kernel | ||||||
| 	{ | 	{ | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	BAN::ErrorOr<void> TmpSymlinkInode::set_link_target(BAN::StringView new_target) | 	BAN::ErrorOr<void> TmpSymlinkInode::set_link_target_impl(BAN::StringView new_target) | ||||||
| 	{ | 	{ | ||||||
| 		free_all_blocks(); | 		free_all_blocks(); | ||||||
| 		m_inode_info.size = 0; | 		m_inode_info.size = 0; | ||||||
|  | @ -507,6 +507,9 @@ namespace Kernel | ||||||
| 			case Mode::IFREG: | 			case Mode::IFREG: | ||||||
| 				new_inode = TRY(TmpFileInode::create_new(m_fs, mode, uid, gid)); | 				new_inode = TRY(TmpFileInode::create_new(m_fs, mode, uid, gid)); | ||||||
| 				break; | 				break; | ||||||
|  | 			case Mode::IFLNK: | ||||||
|  | 				new_inode = TRY(TmpSymlinkInode::create_new(m_fs, mode, uid, gid, ""_sv)); | ||||||
|  | 				break; | ||||||
| 			case Mode::IFSOCK: | 			case Mode::IFSOCK: | ||||||
| 				new_inode = TRY(TmpSocketInode::create_new(m_fs, mode, uid, gid)); | 				new_inode = TRY(TmpSocketInode::create_new(m_fs, mode, uid, gid)); | ||||||
| 				break; | 				break; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue