diff options
Diffstat (limited to 'Source/Kernel')
-rw-r--r-- | Source/Kernel/VFS/FSNode-sc.proto.cpp | 1 | ||||
-rw-r--r-- | Source/Kernel/VTManager/VirtualTerminal-kbd.proto.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/Source/Kernel/VFS/FSNode-sc.proto.cpp b/Source/Kernel/VFS/FSNode-sc.proto.cpp index 717ccef..d86014c 100644 --- a/Source/Kernel/VFS/FSNode-sc.proto.cpp +++ b/Source/Kernel/VFS/FSNode-sc.proto.cpp @@ -90,6 +90,7 @@ bool FSNode::readable(User* user) { } bool FSNode::writable(User* user) { + if (!m_fs->isWritable()) return false; if (ISROOT) return true; if (user == 0) user = Usr::user(); if (user->getUid() == m_uid) diff --git a/Source/Kernel/VTManager/VirtualTerminal-kbd.proto.cpp b/Source/Kernel/VTManager/VirtualTerminal-kbd.proto.cpp index 5b551eb..e96c327 100644 --- a/Source/Kernel/VTManager/VirtualTerminal-kbd.proto.cpp +++ b/Source/Kernel/VTManager/VirtualTerminal-kbd.proto.cpp @@ -64,6 +64,9 @@ String VirtualTerminal::readLine(bool show) { else if (show) put(" "); //Put a space so that cursor stays at same place } else if (tmp.hascmd && !tmp.haschar && tmp.command == KBDC_TAB) { ret += "\t"; + } else if (tmp.hascmd && tmp.haschar && tmp.modifiers == STATUS_CTRL && tmp.character == WChar("d")) { + ret += EOF; + break; } else if (tmp.haschar && !tmp.hascmd) { ret += tmp.character; } |