diff options
author | Alexis211 <alexis211@gmail.com> | 2009-12-20 16:13:44 +0100 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2009-12-20 16:13:44 +0100 |
commit | 2d3c5a9c47d99c8f4f5561f9eae16497c1cde63a (patch) | |
tree | a3f800e17a34a16a00b6dc0b980e2f6cfed22dd5 /Source/Kernel | |
parent | cab353cbb21c142ac1e227d42338fa587e1a7f24 (diff) | |
download | Melon-2d3c5a9c47d99c8f4f5561f9eae16497c1cde63a.tar.gz Melon-2d3c5a9c47d99c8f4f5561f9eae16497c1cde63a.zip |
Added file streams and string streams
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; } |