summaryrefslogtreecommitdiff
path: root/Source/Kernel
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-12-20 16:13:44 +0100
committerAlexis211 <alexis211@gmail.com>2009-12-20 16:13:44 +0100
commit2d3c5a9c47d99c8f4f5561f9eae16497c1cde63a (patch)
treea3f800e17a34a16a00b6dc0b980e2f6cfed22dd5 /Source/Kernel
parentcab353cbb21c142ac1e227d42338fa587e1a7f24 (diff)
downloadMelon-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.cpp1
-rw-r--r--Source/Kernel/VTManager/VirtualTerminal-kbd.proto.cpp3
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;
}