1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 08:35:07 +00:00

Fix mkdir with relative paths.

This commit is contained in:
Andreas Kling 2018-11-18 23:28:43 +01:00
parent de4604ac95
commit f5a0b6961c
5 changed files with 49 additions and 185 deletions

View file

@ -98,12 +98,6 @@ public:
VFS();
~VFS();
#ifndef SERENITY
bool isDirectory(const String& path, InodeIdentifier base = InodeIdentifier());
void listDirectory(const String& path, InodeIdentifier base);
void listDirectoryRecursively(const String& path, InodeIdentifier base);
#endif
unsigned max_vnode_count() const { return m_max_vnode_count; }
unsigned allocated_vnode_count() const { return m_max_vnode_count - m_vnode_freelist.size(); }
@ -127,6 +121,8 @@ public:
String absolute_path(CoreInode&);
InodeIdentifier root_inode_id() const;
private:
friend class FileDescriptor;
friend class Vnode;
@ -136,7 +132,7 @@ private:
bool is_vfs_root(InodeIdentifier) const;
void traverse_directory_inode(CoreInode&, Function<bool(const FS::DirectoryEntry&)>);
InodeIdentifier resolve_path(const String& path, int& error, InodeIdentifier base = InodeIdentifier(), int options = 0);
InodeIdentifier resolve_path(const String& path, InodeIdentifier base, int& error, int options = 0, InodeIdentifier* deepest_dir = nullptr);
InodeIdentifier resolveSymbolicLink(InodeIdentifier base, InodeIdentifier symlinkInode, int& error);
RetainPtr<Vnode> allocateNode();