Selaa lähdekoodia

Kernel/DevPtsFS: Add tightly typed DevPtsFSInode::fs()

Andreas Kling 3 vuotta sitten
vanhempi
commit
fc0cd8317a
2 muutettua tiedostoa jossa 4 lisäystä ja 3 poistoa
  1. 1 3
      Kernel/FileSystem/DevPtsFS.cpp
  2. 3 0
      Kernel/FileSystem/DevPtsFS.h

+ 1 - 3
Kernel/FileSystem/DevPtsFS.cpp

@@ -145,11 +145,9 @@ KResultOr<NonnullRefPtr<Inode>> DevPtsFSInode::lookup(StringView name)
     if (name == "." || name == "..")
         return *this;
 
-    auto& fs = static_cast<DevPtsFS&>(this->fs());
-
     auto pty_index = name.to_uint();
     if (pty_index.has_value() && s_ptys->contains(pty_index.value())) {
-        auto inode = fs.get_inode({ fsid(), pty_index_to_inode_index(pty_index.value()) });
+        auto inode = fs().get_inode({ fsid(), pty_index_to_inode_index(pty_index.value()) });
         if (!inode)
             return ENOENT;
         return inode.release_nonnull();

+ 3 - 0
Kernel/FileSystem/DevPtsFS.h

@@ -43,6 +43,9 @@ class DevPtsFSInode final : public Inode {
 public:
     virtual ~DevPtsFSInode() override;
 
+    DevPtsFS& fs() { return static_cast<DevPtsFS&>(Inode::fs()); }
+    DevPtsFS const& fs() const { return static_cast<DevPtsFS const&>(Inode::fs()); }
+
 private:
     DevPtsFSInode(DevPtsFS&, InodeIndex, SlavePTY*);