summaryrefslogtreecommitdiff
path: root/Source/Kernel/Shell/KernelShell-fs.class.cpp
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-11-25 17:07:31 +0100
committerAlexis211 <alexis211@gmail.com>2009-11-25 17:07:31 +0100
commitf367fe4e5a7712bafc121ce5c228f15e90fc5c93 (patch)
tree3bf0de2cc3b471547158c4b53b1b15f1595c1e49 /Source/Kernel/Shell/KernelShell-fs.class.cpp
parentf3ffe96d679742af95afa29e0cf612c6935eedd0 (diff)
downloadMelon-f367fe4e5a7712bafc121ce5c228f15e90fc5c93.tar.gz
Melon-f367fe4e5a7712bafc121ce5c228f15e90fc5c93.zip
Fixed FATFS::read
- Also added a HDD image, will be used later - Also modified a bit the fdc driver - Also added a hexdump function to kernel shell for dumping file contents
Diffstat (limited to 'Source/Kernel/Shell/KernelShell-fs.class.cpp')
-rw-r--r--Source/Kernel/Shell/KernelShell-fs.class.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/Kernel/Shell/KernelShell-fs.class.cpp b/Source/Kernel/Shell/KernelShell-fs.class.cpp
index fa2078d..c389d45 100644
--- a/Source/Kernel/Shell/KernelShell-fs.class.cpp
+++ b/Source/Kernel/Shell/KernelShell-fs.class.cpp
@@ -125,3 +125,21 @@ void KernelShell::run(Vector<String>& args) {
}
}
}
+
+void KernelShell::hexdump(Vector<String>& args) {
+ if (args.size() == 1) {
+ *m_vt << "No file to hexdump.\n";
+ } else {
+ for (u32int i = 1; i < args.size(); i++) {
+ File f(args[i], FM_READ, m_cwd);
+ if (f.valid()) {
+ u8int *buff = (u8int*)Mem::alloc(f.length());
+ f.read(f.length(), buff);
+ m_vt->hexDump(buff, f.length());
+ Mem::free(buff);
+ } else {
+ *m_vt << "Error reading from file " << args[i] << "\n";
+ }
+ }
+ }
+}